Add support for BDD style testing

This setup uses Grunt as the task runner, Mocha + Sinon + Chai as the
BDD testing libraries. The tests can be run in both in the browser and
through the command line using a headless browser (PhantomJS).