API rework

@adgad Still some stuff to do, but much smaller/simpler.

* Gets rid of localStorage
* No CSS in this module as it doesn't write anything to the DOM
* A simple List model that fetches, adds and removes items via the API
* Decouples the modules in to - i) user prefs, ii) notifications
* Events don't emit anything but raw data in their detail

whitespace frenzy