Introduce zero-dependency Markdown Editor

Dokku: http://markdown.dokku.hypothes.is/
This is an alternative approach to https://github.com/hypothesis/h/pull/1478 
_(Let's try to keep discussion over there.)_

It introduces a simple Markdown editor to help users with no knowledge of Markdown easily insert links, make lists, etc.
![hypothesis](https://cloud.githubusercontent.com/assets/521978/4194840/3bbabd48-37b4-11e4-8cab-cf2cae7b25ad.jpg)

### Features
+ Extremely light weight, there are no extra dependencies added. 
+ Buttons for bold, italics, link, image, quote, code, lists, numbered lists, and LaTex or MathML.
+ Keyboard shortcuts for bold, italics, and link.
+ The buttons are pretty smart. For example, if you select some text and press bold, it will insert the markup around the text you selected. Try them out!


I understand that the result does what we want. My problem is that the naming of the properties in the returned object are confusing. If I get an object with `selection.selected` and `selection.before` properties, I expect `before` to be the text before the selection.

It feels like these should be treated as two separate method calls. One to get the cursor position and pre/post content from the text area for insertion, and one to get the currently selected text.