Handle added anchors more better
Add some comments
Reorder functions
Fix typo
New fn for linking entities

No longer using execCommand because it was causing problems. Not only
the crazy cross-browser differences-- also because needing to select a
range in order to format it was a bit of a pain. That technique allowed
the undo stack to remain intact, but undoing the creation of a link
*only* removes the href from that link (at least in firefox)-- making it
not even really worth saving.

New command to link a range uses rangy's surroundContents function, and
also handles the cursor position itself instead of inserting/removing a
span.
New strategy for moving cursor outside link bounds

This addresses some cross-browser differences in where a cursor "is"
when it's on the edge of an anchor. Chrome is annoyingly persistent in
wanting to keep the cursor inside an anchor, meaning that when a user
types with the cursor on the edge, that text will be amended to the
anchor's text. That's not what I want.

The strategy here is reeeeeeally hacky. When a user's cursor is on the
outer edge of an anchor (but still inside the tag) and he or she types a
character, this is what happens:

1. I intercept that keypress and determine whether the key will print a
character. If it won't, nothing else special will happen.

2. If the key will print a character, I add a new text node containing a
zero-width space immediately after the anchor, then set the cursor right
after that space.

3. I tell a MutationObserver to watch that text node, so that when a new
character is added to it, that zero-width space gets deleted.

4. The character printed by the key entry is appended to the text node
as expected-- triggering that mutation observer to remove the zero-width
space... leaving only the goddamn character we wanted in the first place
Fix unlinking anchors when split by new line

This applies to both firefox (which enters a <br>), and chrome (which,
well, uh, shit... I'm not sure what it'll decide to do this time, but
it'll probably put in a few <div>s and split the anchor into two
anchors)