Improve the dependency graph

Now it uses the directed "dot" layout, including transitive
dependencies, and with enough node spacing to make the graph quite
readable.