Create and implement the CasperJS UI testing framework

Contains the following:
- Testing framework based on CasperJS (based on PhantomJS)
- Tests for most individual widgets
- Run with grunt (`grunt test --qunit-host tenant1.oae.com`)
- Run individual tests with `casperjs test --includes='tests/casperjs/util/include/admin.js','tests/casperjs/util/include/collabdocs.js','tests/casperjs/util/include/content.js','tests/casperjs/util/include/discussions.js','tests/casperjs/util/include/follow.js','tests/casperjs/util/include/groups.js','tests/casperjs/util/include/users.js','tests/casperjs/util/include/util.js' --pre=tests/casperjs/util/prep.js path/to/test.js`
- Travis integration