Issue #432: Grunt JS Implementation

Implements #432

I suggest adding `node_modules` to .gitignore (and maybe a few more things) to prevent node files from being committed