Makefile / release cleanup

Fixes #81
Add code coverage

Fixes #82
Add tests for demos

We now have automated tests for the demos both before and after they are
moved to the dist directory. This change requires that phantomjs be
installed.

I also moved the old tests from test/ to test/unit to keep the phantomjs
and unit tests separate.

Fixes #79
Improve chances of detecting a failure in demo.html with demo-test
Simplify demo/demo.html
Remove dot from dagre, some demos broken

Fixes #65
Some initial work to use graph as input to layout.run()
Improve chances of detecting a failure in demo.html with demo-test
Initial work to on d3 renderer
Add arrowheads to directed edges
D3 renderer: draw edges behind nodes
D3 renderer: add support for HTML labels
Add zoom behavior back to demo.html
Rename demo to interactive-demo
interactive-demo: push rendered graph off of the svg border
Add back debugAlignment
Fixup alignment debugger
Fix up minor style problem that would cause some edges to be hidden
Remove some unused demo code
Add json example of tcp-state-diagram