fix: page up / page down / arrows navigation.

The first scroll up/down using arrows or page up/down buttons was not
revealing/hidding the bar properly.
Change directory structure.
Implement karma / jasmine unit tests.
Add npm, grunt and bower files.
Add CONTRIBUTING document.