Add UI/integration tests

These tests are written with the [Node.js driver](https://code.google.com/p/selenium/wiki/WebDriverJs) for [Selenium](http://seleniumhq.org). After installing the new dependencies via `npm install`, the tests can be run with the following command:

    $ grunt test-integration

During testing, all web requests pass through a Node.js-powered proxy server, allowing for the transparent insertion of cached assets. This makes tests run quickly and deterministically during development (and eliminates the need for an Internet connection). To run the tests against a live connection, the `REPLAY` environmental variable can be set to run the tests against a live connection:

    $ REPLAY=bloody grunt test-integration

This facilitates automated testing of integration with external services.