Dynamic Property Registration

Changes:
* add possibility to add new property types (see examples/properties/PropertyExtension.h)
* add fromString() method to ValueProperties
* remove std::set<int>
* add possibility to add new visit methods to visitor (see reflectionzeug/StandardPropertyVisitor.h)
* add ClassProperty and EnumProperty
* revisit VectorProperty
* add concept of PropertyCategoryVisitor in order to be able to provide default widgets e.g. for EnumProperty
* non-specialized properties inherit from ClassProperty
* add ability to check type of property with `property->type() == Property<int>::stype()`