Adding grunt and splitting up styles

Two parts to this pull request:
 - I've added in [Grunt](http://gruntjs.com/) as a task runner to take care of building our CSS, minifying our JS etc. At the moment all it does is build the CSS but as we develop more of the front end I'll be using this to do as much of the hard work as I can.

 - Most of this pull request is splitting up `calendar.scss` into multiple files, each dealing with a certain aspect of the styles. I simply wanted to first get a few things in order and not change any of the existing CSS before I start a bit of refactoring (most of the CSS here can be improved, no offence to whoever wrote it).  I'll also start to put in a few comments etc in there as well so that other devs can see what's happening (I don't even know what some of the styles do, for example). If I change any markup then I'll run it by @jasonkiss to make sure that it's as accessible as it needs to be etc.