Massive re-architecture and cleanup

Tests pass, things are separated out and nicely named, and npm and bower and
react and d3 and plugins and addons and my code all dance together nicely.

Updated the readme.

At this point, you can use this by just opening an html file after downloading
the project.