Catch and log FF error getting selection.
Check for null return from Range#getStartBlock.
Replace Node prototype extensions with normal fns.

* Firefox was sometimes not finding the extensions on elements.
* This minifies to a smaller target.
Make editor.insertElement support block elements.