Re-highlight annotations whenever an edit occurs.

* To make it less expensive, a method has been added
to AnnotationViewManager to refresh not all annotations
but only the highlights.

* This is used as a scheduled redraw task inside SessionView
to not make it a CPU hog.

* The destroy mechanism for SessionView has been restructured
to accomodate multiple asynchronous destructors.