Highlight generalization: cleanup and bugfix

When we are creating a new text annotation, we are checking whether
or not what we want to annotate is a part of Annotator itself.

To run this check, first we need to check whether or not our current
selection is inside an existing highlight.

Until so far, for this highlight check, we have been using the
TextHighlight class manually.

But since now we allow arbitrary highlight implementations, this
method had to be generalized, too.

Now when a new highlighter implementation is registered, in can
(optionally) supply a method to be called for checking whether or not
a given dom element was created by this highlighter implementation,
and also a method to get the neares parent which was not created by
this code.