graphviz directive now displays edges with arrows

 - selecting the selected node now unselects it
 - changed graph implementation to be free of circular references