Grunt work

This adds Grunt as main build system.

It restructures the source code, so each module is located in it own folder and can be build independently. So far the building consists of copying the files to the `dist` folder and slapping on a version number. When multiple files are located in the `src/*/` folders these files will be concatenated, before copied to the `dist` folder. 

This also changes how to start karma for watching the tests, this is now also done through grunt, as it will depend on the files being build. 

List of todos:

* [x] restructure src code
* [x] add a Gruntfile that builds in to dist
* [x] run tests through grunt
* [x] run jshint task
* [x] Make it work on the build server