This adds a QVariant/QMetaObject based controller for object and properties
manipulation. Object types and objects are stored in std::map structures for
now. The API is based on the prototype controller. The get/set properties only
handle a single QVariant argument instead of a QVariantList argument as in the
prototype but this can be changed.