Rewrote background agent

- Cleaned up some unused stuff from background agents
- If multiple notifications are present, a count will be shown
- Single notifications will take the user to the action uri
- The background agent can now be enabled/disabled from the main menu

TODO: -profile memory usage on the background agent in Release setting.
In a debug setting it is usually around 8MB, should be around 6MB in the
release config.