Hygiene: Rewrite notification.js

This is now used only for toasts. Code reuse FTW!

In the process removed lots of dead CSS and discovered that toasts'
shadow was overriden in an old CSS rule (this made toasts kind of
blurry).

Change-Id: I100649084f69d0503b7bc2fae7c3e22b60205a18
Merge "Hygiene: Rewrite notification.js"