tagify: working around contenteditable cursor

In order to correctly position the cursor in a contenteditable element, the
browsers display the cursor only when there is an element to properly flow
inside the contenteditable.

For Firefox, this is a <br type="_moz">. This <br> sticks to the end of the
contenteditable and does not disappear. For webkits, this is likewise a <br>,
but as you start typing, the <br> will become replaced with the TextNode
containing your text content. We then rely on input event to check to see if
we need to manually inject a <br>.

Finally upon creation of a tag, we focus on the <br> so as to position the
cursor correctly.