Reflectionzeug refinements

* Restore default behavior for property guis
* Remove flags in favor of a shared usage of options
* Add convenience accessors for property options
* Fix include style
* Remove obsolete member variables and corresponding functions from Enum- and StringProperty
* Add toVariant to PropertyGroup
The problem with template constructors is that the type is always automatically deducted. And because `Variant` supports every possible data type, this can easily lead to problems. For example if you want to store a pointer of a subclass as the base class you could miss to make a down cast before.