Add math support

This PR adds math support. It uses a new and very light math rendering library from Khan Academy called [KaTex](http://khan.github.io/KaTeX/).

However, since the library is new and [lacking support for some Tex commands](https://news.ycombinator.com/item?id=8320439), I've also implemented a MathJax fallback which will load MathJax from a CDN if KaTex throws an error in rendering. Khan Academy is also doing something similar apparently. 

Dokku = https://math-support.dokku.hypothes.is




> Is there any reason why we wouldn't want to use MathJax if it's loaded? Isn't it more complete?

It's a lot slower at the moment, a lot of math on a page can make things very sluggish (especially on mobile too). KaTex is much quicker and works for the largest portion of Math. 

> You could just use the presence of MathJax to decide and not have a separate variable, maybe?

Since MathJax is slower, we only want to use it for math that needs it. If one function out of ten needs MathJax than that is the only function that should be rendered with MathJax. That way we can have the quickness of KaTex and the robustness of MathJax. I also don't want `MathJax.Hub.Queue(["Typeset",MathJax.Hub])` to be called in `ctrl.$render` unless it has to be. 

That's my thinking at least. Thoughts?