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