Gruntfile cleanup

It's to prepare custom tasks & make existing task easy to override (for #80).
Rubyless is coming after that.