Project cleanup

This cleans up the test-execution and allows tests to be executed in node and phantomjs. Instead of a Makefile we are now using GruntJS. The built distribution is now also part of this repository for ease-of-use.