MathJax support

Based on @uranusjr's work in #112.

> From #100.

> This implements `HOEDOWN_EXT_MATH` and `HOEDOWN_EXT_MATH_DOLLAR`. The former triggers `char_math` (from `char_escape` with `\\[` and `\\(`, or from active char `$` with `$$`), which parses the block and feed the content and opening/ending tags to the renderer callback. The latter flag enabled an extra math block syntax delimited with a single `$`. Renderer callback in `hoedown_html_renderer` outputs tags and content of the block verbatim. Not sure whether I should trim and/or collapse spaces and newlines inside the block. It’s irrelevant to MathJax.
I put the check right next to the call for clarity. If we want to be fast and not waste calculations, `char_math` shouldn't be added to `active_char` if the callback is not set.

This would leave the `char_escape` path still slow but hey, why do you enable `HOEDOWN_EXT_MATH` if you don't have a `math` callback?