add "tidy" feature

I improved the usability since the demo with the following fixes:
- show .disable-overlay while the tidy-worker is working its magic
- overlay fades opacity in/out so people know it's there
- cursor position within a node is maintained so if it's in the middle of a literal it's there after tidying
- maintain relative position of active row so that it's in the same position after tidying
- preserve spacing between lines

For the last item I had to modify escodegen.  Right now package.json points to my branch.  I've submitted a pull request https://github.com/Constellation/escodegen/pull/208 for these changes.
I'm still unsure why git thinks these lines are different... it has them below as adds and the indents are both tabs and there's no trailing space differences.