Updated to be more legible

Following on from making nodes classes, edited dependency_graph.py to
use the new class-based node system instead of the previous list-based
one.

Split preparing nodes and edges into a separate function to drawing the
graph for clarity.

Added dependencies to README
    It seems that all Linux-based graph-drawing Python packages either
    have very little documentation, and thus are difficult to use, or
    use packages which are incompatible with Windows. For that reason I
    stayed with pygraphviz.

    Because I have separated the preparation of the graph from the
    drawing of the graph, I should be able to use another graphviz
    package in future - one which will be compatible with Windows.