Draft: Improvements to threading and Qt GUI handling
Loading
Observers are now run on the threads that they are triggered on. Implemented qtInvokeOnMainThreadBehavior to handle observers for gui elements and to provide a general purpose mechanism to run logic on the gui thread. Refactored gui components that are observer-driven to use qtInvokeOnMainThread.