Add grunt watch task

This allows you to run grunt watch once, it will wait for changes and
run default tasks automatically.
This doesn't start with grunt by default, you need to run grunt watch.

See: https://github.com/gruntjs/grunt-contrib-watch