Fixes sequencing issue with observers when operations are launched asynchronously
This MR changes the behavior of pqSMTKCallObserversOnMainThreadBehavior and qtSMTKCallObserversOnMainThreadBehavior to force the thread that triggered the observers to wait until each observer function has been called on the main thread.