refactoring to adhere to bostock's reusable chart specification, http://bost.ocks.org/mike/chart/
added graph canvas version. need to fix it but it is so cool-looking right now.
added graph-canvas option