Update tests for new force directed graph.

This format is the one used on the force-directed graph examples.
Setup the tests so I know where the finish line is.
Write code to satisfy tests.

Write the code to make the data I'm expecting to use
for the force directed chart.
Get a basic force directed graph working.

It is still really hard to read, but I think trying with tree layouts
for the links might help.
Space out and highlight expensive paths better.
Revert changes in how tree data is generated.

The default layout for a force directed graph makes viewing the
callgraph really difficult. Next I'll try a tree based chart.
Start fixing layout to use a tree structure.

This still needs more work.
Revert "Revert changes in how tree data is generated."

This reverts commit b21bc08560fa347ea0e0b3e3a1d22a01ac9f2889.
Revert "Start fixing layout to use a tree structure."

This reverts commit 0c5a3f3d3b970dd734bcf5ac110b04bcffc88f68.
Fix the main() node.

This makes the graph have a more predictable shape to it.
Make callgraph chart easier to use / read

* Make nodes sticky.
* Add arrows showing directionality.
Merge pull request #36 from preinheimer/force-graph

Force graph
Make callgraph data contain raw wt microseconds.

This will allow for better tooltips.
Remove dead code.
In-progress re-factor of callgraph.
Format numbers + improve tooltip contents.

Add actual number of microseconds to tooltip as well.
Change styling on callgraph.

Make the colors a more dynamic gradient, and move some of the style
properties into CSS.
Fix indentation.
Add pointer events and fix some styling up.
Get dirty recursion based highlighting half working.

This mostly kind of works. It blows the callstack in chrome quite
easily, and changes the colors of the text, but the idea of walking the
links and collecting them should work once it is not using recursion.
Fix offset to make small nodes not covered by tooltips.