Swap out Cake for Grunt

Hi, I just try to swap out cake for grunt

Cake build   -> grunt build
Cake watch -> grunt watch

Additionally, I add a lint task(coffeelint) for coffeescript, I do find some lint errors in the source, like mix tab indentation and spaces, maybe we can add some configurations for our code style later, I'm not sure yet.