Rewrite app

Changes:
- Improved folder structure
- Refactored code
- Removed AngularJS antipatterns
- Improved code quality & cleaned code mess
- Moved DOM manipulation into directives
- Divided one controller into multiple controllers
- Broke views into templates
- Added Grunt for building and Bower for controlling dependencies