Gruntjs toolchain

Switch to using gruntjs to build bundles and run tests.