Better graphing

I have the base of my improved graphing functionality built.  These are ready to be merged, then I just have to flesh out functionality so I can trash my current 'main.py'

I also want to do better at TDD - tests should come first

I also need to do a CheML rewrite - its pretty ugly right now