Working frontend visualizations

I think the `frontend` branch is in a pretty good state, and should be merged into `master`.

There's a ton of changes, but the main thrust of it is that there are now a handful of reusable components that can be combined to create visualizations.  The `/#/test` page has been refactored to use these components.

After merging into frontend, I will focus on creating more individual apps and visualizations.