hover box design and some js refactor

See demo video here: https://i.cloudup.com/jfnA2EwGVP.mov

- added default Grunt task to start a static webserver and autocompile stylus
  - `npm install` to get latest modules
  - `grunt -f` to start the static web server
- moved the hoverbox to be child of video rather than controlerbar, give us flexibility of positioning.

cc: @tuhinc @AndrewMagliozzi @DodekaHydra