Adds support for prerequisites.

- implement playlist handling the the javascript
- jshint fixes
- refactors prerequisites to use link-data