Pretty significant rewrite to tracevis

Highlights:

* We now have a test coverage report for the library code in tracevis
* Improved test coverage
* Simplified many of the transforms by keeping everything in graph form
  and applying transforms (e.g. for filtering)
* Doesn't reparse graph on each view change
* Generally faster
* Removed dig.js - it's been EOL'd
* Added graphlib.js - replaces dig.js
* Added graphlib-dot.js - used for rendering graphviz output
* Tracevis now builds its package itself
Don't use in-place sed rewrite

It seems that GNU sed and BSD sed differ enough in their handling of
arguments that it is difficult to get in-place substitution to occur.
Instead we use the original index.html as source and write the
substituted file to the output directory.
Small improvements to Makefile

- Rerun tests if they failed last time
- Run lint as a part of the test-unit target
- Only run lint for files that have changed
- Only supply test-int files to phantom (don't give it node_modules, etc.)
Add test coverage for integration tests
Run unit tests without instrumentation before running with instrumentation