Add front-end tests

I've been willing to get some front-end testing in for a while. This adds the first JS unit tests and the `karma` test runner is executed as part of the tox build. As a bonus I've also added `jshint` to the build.