This is to solve a tricky edge case, when a page has no equations, and then an AJAX
action loads filtered content which contains an equation. (The glossary filter can do this).
To fix this I split the loading into configuration and typesetting. The config always happens,
but does not load the external mathjax libraries. The typesetting happens when an equation is
found - and is what triggers the load of MathJax. This can happen in response to an AJAX event.
* Remove all traces of mathjax from the atto equation editor - it is filter agnostic
* Add a M.core.event module for core events that can be published/subscribed to by plugins (loose coupling)
* Add a FILTER_CONTENT_UPDATED event so plugins can tell the filter system when nodes are added to the page
* Implement a listener for this event in the MathJax filter
* Fire this event from the equation editor and from the glossary filter
* Add a nolink tag to the mathjax filter, so equations will not be processed by the other filters
* Add a smarter throttle function to the equation editor preview updates (Y.throttle is dumb)