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

Keeping the event listener pattern for the moment to keep everything working. Still not 100% sure it's worth changing to the API pattern for the next few weeks.