Move the cursor to the start of the annotation that has been removed

Moving the cursor to the start of the removed annotation allows the
scrollIntoView behaviour to work more smoothly. Previously, removing an on-

screen annotation would likely result in the view being reset to the
cursor which was potentially offscreen at the time.

Fixes issue #33
Cope with CaretManager being destroyed while waiting for setTimeout to elapse