Refactor

I've pulled out each orthogonal function (MediaKeys, Notifications and Telepathy) into its own Handler class, which are passed to `SpotifyGnome` as an array when the app is started.

Each Handler implements `__init__(session_bus)` and `shutdown()`.  `SpotifyGnome` initializes each Handler on the `NameOwnerChanged` event, and shuts each of them down on the corresponding event.

Suggestions for improvement welcome!