One of the utilities I wrote yesterday while learning how to use GraphViz takes a todo.txt file and spits out a DOT one which can be piped into one of the GraphViz renderers.
It generates output that looks like this:

As you can see it takes the item with the highest priority, and steps through to the lowest priority, before splitting off to the remaining items.
You can also find this script in the git repository.
