Re virtual dom focus

A new take on the noting functionality. Still a WIP.

What's new:
- [Virtual DOM](https://github.com/Matt-Esch/virtual-dom) and related libraries
- Created a `VFocus` "class" which makes it possible to move around the Virtual DOM tree.
- Integration tests.
- The approach is different in the sense that we only ever wrap text nodes. This means we can do things in a more sequential way and care less about what the user has selected. One note is made up of one or more note tags. A note is defined as the sum of all note tags that are adjacent to each other (have abandoned ids since it's going to be more trouble than it's worth given our feature specs). The beginning and end of a note will be designated by a class or data attribute.
Note that the value of test is not only to verify the expected behaviour, but also guarantee it across future changes. I'll let @sihil dictate whether they are necessary or not here, you may want to validate the approach first anyway.