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 think this is a step in the right direction. Still input _is_ a text area :) So this is still a bit confusing. I see a few possibilities.

a) Suffix raw nodes with `El`.

```
input = elem.find('.js-markdown-input')
inputEl = elem[0]
preview = elem.find('.js-markdown-preview')
```

b) Use jQuery style hungarian notation.

```
$input = elem.find('.js-markdown-input')
input = elem[0]
$preview = elem.find('.js-markdown-preview')
```

c) Use the `.prop` method so save having two variables.

```
input = elem.find('.js-markdown-input')
preview = elem.find('.js-markdown-preview')

// Later
input.prop('value', value)
input.prop('textarea.selectionStart', selectionStart)
```

I think I'm erring towards a). Note I also used class names for the selectors, this lets you have an `<input>` instead of a text area, and say a `<section>` for the preview as long as they have the right classes. I used a `js-` prefix to indicate that this class is not for styling (I'm happy for us to use attributes instead eg. `find('[markdown-input]')`).