Stop adding ObjectEvent links manually

Now that the links are removed from event annotations, we no
longer need to do this, because inheritance works.
Simplify the way we annotate observable properties

We no longer add observable annotations to the constructor.
Instead, we just mark getters (and for read/write properties
also setters) with an observable annotation.