Mark undocumented doclets as undocumented

To give other plugins access to doclets that are not part of
the API, we have to mark them undocumented instead of removing
them. They will be removed by JSDoc before publishing anyway.
Fix quotes
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.
Avoid dead links

Because we remove doclets that are not part of the API, there
are cases where linkto will create a link to an undocumented
doclet. We now replace such links with the longname of the
doclet.