Rewrote the setCursorLocation function to have an optional start node.
Fixed bug where the caret wasn't moved to the first suitable element when updating the source.
Fixed various IE forced root block bugs.