reposition annotations when view changes (instead of destroying)

Also, create `annotation_array` only once.

Note that this introduces a change: Annotation ids have `annotation` prepended to the created elements. This is so that when the id is a number (like it is in README.md), the id is still a valid id (HTML ids have to begin with a letter).