Fixes 3 unnote part of a note related bugs.

1. state() was sometimes returning the wrong state.
2. SPANs that we insert for caret positioning caused styling issues.
  Changed to zero width chars. Not ideal, and we  should have a look
  at that later. Good enough for now.
3. In unnotePartOfNote the arrays we zip together would sometimes be
   out of sync. Changed them to use the same source of data for that.
Now possible to unnote entire note by selecting the contents of the note
Fixed note--start edge case bug.

When selecting from 3 paragraphs and then unnoting part of paragraph 2,
then the leftmost part of paragraph 3 did not get a `note--start` tag.
Merge pull request #10 from guardian/re-noting-bugs

Re noting bugs