Add remove widget button

Summary: Added a 'remove' button on the header of the widget editor to quickly remove it from the question

Mostly an ice breaker for me as this is my first PR, so I used this little change (hopefully somewhat useful) as a way to get familiar with React and Perseus.

What has been done:
* Wrote a widgetPlaceholder string as to avoid repetition in the code
* Wrote a widgetRegExp string for the same reason (although it could be improved)
* Wrote a _handleWidgetEditorRemove function that removes the selected widget from the textarea content and calls re-rendering
* Placed a remove button in the header of the WidgetEditor
Move RegExp instantiation outside of the render function
Merge pull request #9 from AkA84/add-remove-widget-button

Add remove widget button
simple-markdown: parse tables with and without pipes

Summary:
github flavored markdown supports two types of tables:

    | leading | pipes |

and

    no-pipe | tables

this supports those as `table` and `nptable`. The logic and
regexes are adapted from marked.js

Test Plan: `make test`

Reviewers: emily

Reviewed By: emily

Differential Revision: http://phabricator.khanacademy.org/D12698
simple-markdown: add image+refimage support

Summary:
    This adds support for inline ![](images) and
    [ref][images]

    [images]: <url>

This change also renamed LINK_HREF to LINK_HREF_AND_TITLE
to be more accurate about what it is capturing

This change also fixes titles on regular inline links, and
adds test cases verifying that

Test Plan: Make both types of images in the simple-markdown-tester

Reviewers: emily

Reviewed By: emily

Differential Revision: http://phabricator.khanacademy.org/D12709
simple-markdown: handle escaping better

Summary:
Previously, we had a list of characters that we would break
text on to check for possible other syntax, and a list of
characters that were valid to escape. With this change,
we break text on any symbol, and can escape any symbol.

Test Plan: `make test`

Reviewers: emily

Reviewed By: emily

Differential Revision: http://phabricator.khanacademy.org/D12714
simple-markdown: Add <br> elements

Summary:
line breaks in markdown are sort of weird:
two spaces at the end of a line inside a paragraph.

Test Plan:
`make test`
Also experimented a bit in the simple-markdown-tester

Reviewers: emily

Reviewed By: emily

Differential Revision: http://phabricator.khanacademy.org/D12772
passage: add footnote parsing to passage-markdown

Summary:
```
Adds basic footnote syntax, which takes any `^` characters
in a passage and places a superscript denoting a footnote
there, which content creators can put in the "footnotes"
box of the widget.

Some other possibilities we could implement are having
inline footnotes  like^(this), or reference footnotes
that reference a footnote declared later^[1]

[1]: such as down here
```

Test Plan: `make test`

Reviewers: michelle

Reviewed By: michelle

Subscribers: emily

Differential Revision: http://phabricator.khanacademy.org/D12715
Passage: rewrite passage refs to use passage-markdown

Summary:
Changes how the passage widget supports markdown and references
to use simple-markdown/passage-markdown and hopefully be simpler
and less hacky

Test Plan:
check out [this item](http://localhost:9000/test.html#content=%7B%22question%22%3A%7B%22content%22%3A%22%5B%5B%E2%98%83%20passage%202%5D%5D%5Cn%5Cn%5B%5B%E2%98%83%20passage-ref%201%5D%5D%5Cn%5Cn%5B%5B%E2%98%83%20passage-ref%202%5D%5D%5Cn%5Cn%5B%5B%E2%98%83%20passage-ref%203%5D%5D%22%2C%22images%22%3A%7B%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fda8df81c78b22f5c69d477d8eabfb583968eaf84.png%22%3A%7B%22width%22%3A400%2C%22height%22%3A70%7D%2C%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fb59fc02ca1aae800977b8793ed22f647a1aa75ee.png%22%3A%7B%22width%22%3A425%2C%22height%22%3A150%7D%7D%2C%22widgets%22%3A%7B%22passage%202%22%3A%7B%22type%22%3A%22passage%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22passageText%22%3A%22this%20is%20a%20aklsdj%20fkldjafs%20lkdfja%20kldfjflda%20l%3Bdjsfkldfsajdsfkl%3Bdsf%20jalkdfsj%20dsflkfjdsa%20l%3Bkdfajdfl%20%3Bdfsajdlfks%3Bj%20dflkdsfj%20dslfkj%20dsflkdsfj%20%7B%7B%2A%2Aklsdfjsdflk%20%7B%7B__fdsjlksdf__%7D%7D%20jfsdlklj%20fdslkfdsj%20lkfsdjsdflkjdsfkl%20dsfj%20lkdfsjdsfl%2A%2A%7D%7D%5Cn%5Cndfskjladfafjklfdjfdsklsd%20fjl%20d%20sfkj%20ds%20f%20lkdfsj%20l%20k%20fd%20s%20jdfskl%20sfdjkl%20dsfjf%20d%20lk%20d%20fs%20j%20dl%20k%20s%20j%20s%20dfkldsfjdsklf%5Cn%5Cndkl%20jkfdsah%20fjkfjd%20a%20djjfdaldfajs%20kdfsajal%3Bkdfasjkdfsakj%20dfskfd%20djfkdf%20dkajdk%20jadfkjadf%20__%7B%7Bdafksjkdfkjfdk%7D%7D__%20oiwjhqwe%20oew%20ewj%20weroijkojdsx%2Cmnacx%20lkhdskldsfz%20dskl%20k%22%2C%22showLineNumbers%22%3Atrue%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22passage-ref%201%22%3A%7B%22type%22%3A%22passage-ref%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22passageNumber%22%3A2%2C%22referenceNumber%22%3A1%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22passage-ref%202%22%3A%7B%22type%22%3A%22passage-ref%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22passageNumber%22%3A2%2C%22referenceNumber%22%3A2%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22passage-ref%203%22%3A%7B%22type%22%3A%22passage-ref%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22passageNumber%22%3A2%2C%22referenceNumber%22%3A3%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%7D%7D%2C%22answerArea%22%3A%7B%22type%22%3A%22multiple%22%2C%22options%22%3A%7B%22content%22%3A%22%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%7D%7D%2C%22calculator%22%3Afalse%7D%2C%22itemDataVersion%22%3A%7B%22major%22%3A0%2C%22minor%22%3A1%7D%2C%22hints%22%3A%5B%5D%7D)
Note that the second reference is inside the first reference.
Note the references are correct.

Reviewers: michelle

Reviewed By: michelle

Subscribers: alpert, alex, joel

Differential Revision: http://phabricator.khanacademy.org/D12258
simple-markdown: prep towards perseus-independence

Summary:
Adds an explicit license, and handles dependencies/exports
even if `require` doesn't exist

Test plan:
`make test` still works
cross fingers for what happens when `require` doesn't exist :)

Auditors: emily
Being awesome, fixing the coefficient checkbox
Merge branch 'master' of https://github.com/Khan/perseus