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.
Hehe yes (though [not this big yet](https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb)! :)). Think it'd make sense to split it into its own package. For the time being maybe put it in a different file.