Desktop notifications according to WhatWG spec

- toast notifications for Firefox 22+
- refactor, use separate functions for different implementations