huge refactoring: separate grunt-cli, detached several libs, detached watch, many other fixes