Faster parsing, hash support, oh my!

This pull request is a bit big, I should have done the features in separate pull requests (and separate commits). Whatever.

I did a few changes:
 - Normalize indentation to 2 spaces.
 - Greatly improve speed & efficiency of the parser's usage (only parses when you hit the run button now)
 - Made it so that hitting run causes the animation to restart
 - Saved the current equation in the browser's `hash` property, which means that if you share the URL others can experience your cool Mojulo visualization