Tracevis rewrite

- Simplified code
- Better code coverage
- Use NPM to pull in dependencies
- Use jshint
Port hierarchy display for tracevis waterfall view

In addition to porting the code from master, this change also includes
some transition fixes and a more intuitive indicator of collapsed /
expanded tasks.
Some refactoring / cleanup for tracevis waterfall view