Add Graphviz dot visualizer for AST

toDot takes an array of Tokens and AST nodes and outputs
markdown that can be fed to Graphviz's dot to visualize the AST.

This should be incredibly useful when debugging.