introducing a grunt based build system

This PR is to start a discussion about introducing a build system. At the moment, it simply does very similar things, the Makefile did before. I still plan to add more features like jscs/jshint/eslint, unit tests, and a few other things. However, I want the discussion to start early, before putting much more effort into this.

At the moment, the `Gruntfile.js` is quite verbose. I structured it this way, because of my experiences with grunt and things you want to implement with it later. This allows quite easy refactoring and restructuring of the grunt configuration.

Please try out this stuff and add comments or your thoughts on this subject.

ToDo:

- [ ] integrate some JS style-checker/linter
- [ ] adjust Gruntfile.js to general coding style of the project
- [ ] split up Gruntfile.js for better structure