Add viewer/editor/adder elements to the document.body, regardless of whether annotator is created on a sub-element.

This is to fix clipping issues when annotating an element inside an ExtJS gui, which clips anything outside.

I don't think this will break things, but I'm not sure.
Add some tests for turning dom ranges into character offsets and back again
fix brokenness in range_spec. It was overwriting document.createRange with a mock and breaking my tests
Allow the annotator elements to be added to the document body, instead of @element
fix image tests
More code for binding annotator gui elements to document body
fix the store plugin for image annotations
add charrange tests to the runner
Fix up the charrange selection code
Add code for removing annotator from an element
Fix adder popping up multiple editors on compare view page
Pretty much working character range selection
Remove event handlers when destroying classes
Don't break on not textual annotations
Check we've selected the right text, not match against the annotation body!
fix image annotation positioning after widget changes
Merge branch 'char-range'
Adds support for selecting text ranges based on an offset, instead of an xpath. This works across different html representations of the same text.