Annotates a groovy property or a class to support JavaFX properties.
When annotating a property it indicates that the property should be a
bound property according to JavaFX beans, announcing to listeners
that the value has changed.
When annotating a class it indicates that all groovy properties in that
class should be bound as though each property had the annotation (even
if it already has it explicitly).
It is a compilation error to place this annotation on a field (that is
not a property, i.e. has scope visibility modifiers).
If a property with a user defined setter method is annotated the code
block is wrapped with the needed code to fire off the event.