ref #79 AbstractProperty, QObject, to()
rename AbstractPainterProperty to AbstractProperty
make AbstractProperty subclass of QObject and add changed signal
add to() template Method