reorganization: split files and added grunt (jshint, concat, uglify)