added Grunt and jshint'ed the JS code

- changed the repo structure.
- added Grunt and JS code revised with jshint.
- better demo, more descriptive tests