Property Macro and reinterpret_cast Warning Fix

things changed:
* fix #58 by moving `accept()` implementation to `Property` specializations removing the need to downcast
* add two macros for `Property` specializations and refining the way to add own types
* update GlmProperties.hpp accordingly

things still to be done:
* I'm absolutely not satisfied with macro names
* GlmProperties.hpp needs validation
* test on windows and linux