add EnumProperty and add example
improve property example
refine trim interface
add EnumPropertyInterface (will be used for editor)
add the ability to use a different propertypainter and propertyeditorfactor (to be able to add new types)