Add front-end testing framework, plus a simple login test

* Resolves #27 
* Majority of tests are still to be written but they should be fairly simple.