Fix multiple bugs in Chrome

There is a bug in Chrome in which, when you call `Range.insertNode`, it inserts a bogus text node: http://jsbin.com/ODapifEb/1/edit?js,console,output

This was the culprit of three different Scribe bugs, all of which are now fixed (see diff).