Highlight state considation

This builds on #1729 and makes our language a lot more consistent. For my sanity.
The annotator HL api has [this contract](https://github.com/hypothesis/annotator/blob/typed-packaging/src/highlights.coffee#L18):
 - If you set the status (ie. focus, activation, etc) of highlights in non-batch mode, they will be instantly redrawn.
 - If you set the status in batch mode, when they won't necessary be redrawn, until the `finalizeHighlights` event is triggered. This helps with highlight implementations where redrawing is costy, so doing it in batches helps. (Such us the image highlights, which have not been merged yet.)

Here, we used to call the `setActive()` method in batch mode, so the event was required, in order not to break the contract. Incidentally, the current `TextHighlight` implementation does not use this optimization feature; so not using batch mode will not result in any immediate performance penalty, and also not triggering the event will not result in a visible error. Still, I would prefer not to remove the features which are needed for more sophisticated highlight implementations. (For example, if we get to integrate one of the non-invasive highlighing implementations, when we are drawing to a canvas layer above the document, we will want to minimize the unnecessary redrawings.)