message: qt: Add ObjectInvoke template function
  This is a replacement of the QMetaObject::invokeMethod functor overload
  which is available in Qt 5.10+.
diff: @@ -337,6 +337,18 @@ namespace GUIUtil
  #endif
  }
  + /**
  + * Queue a function to run in an object's event loop. This can be
  + * replaced by a call to the QMetaObject::invokeMethod functor overload after Qt 5.10, but
  + * for now use a QObject::connect for compatibility with older Qt versions, based on
  + * https://stackoverflow.com/questions/21646467/how-to-execute-a-functor-or-a-lambda-in-a-given-thread-in-qt-gcd-style
  + */
  + template <typename Fn>
  + void ObjectInvoke(QObject* object, Fn&& function, Qt::ConnectionType connection = Qt::QueuedConnection)
  + {
  + QObject source;
  + QObject::connect(&source, &QObject::destroyed, object, std::forward<Fn>(function), connection);
  + }
  } // namespace GUIUtil
  