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.
Is it worth splitting VFocus out at some point? This file is pretty enormous!