Store annotations relative to content, not content display

 - add nid field and index to database
 - allow query by nid through store API
 - configure store plugin to query by nid and ignore URI
 - create a plugin for node-based annotation (annotator_drupalnode.js)

DESIGN

We store the appropriate node id (nid) with every annotation. We override the
annotation API to search by nid rather than URL. We also manipulate the url to
be always the path to the node detail page.

SETUP

 - in admin/config/content/annotator, enable the DrupalNode plugin
 - in admin/config/content/annotator, set Annotator element to ".node :has(>p)"
   [this selects the div immediately surrounding the node content. Any other selector should
   also be fine, provided the markup within it will be identical on both node and index pages]
 - there is a new field in the annotation module. So you will need to either reinstall, or
   manually add the nid field
Thanks for the comment, Paolo.

I don't *think* we need sanitization here, but I could well be wrong.

In this particular line, nid is possibly used in a database query, but not returned in html. So check_plain won't do anything useful.  And we're using the drupal database API, which does its own escaping/sanitization of query parameters.

Annotations are stored in the db without any html escaping. but when they are retrieved they go through drupal_json_output, which escapes HTML. [at least, if I put html tags into a comment, they come out displayed as text rather than interpreted as HTML].