* Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.
* Added tags to .gitignore
* Changed mpris metadata to actually return the track's url instead of the Spotify URI so that it matches the functionality of the official Spotify client.
* Changed mpris:trackid and xesam:url to not use static naming so it can support podcasts.
* Changed xesam:url to default to an empty string instead of "0"
* implement search for shows/podcasts
* create Playable supertype for queue to contain tracks and episodes
* wip: implement playback of episodes
* load spotify id from uri instead of raw id to fix podcast playback
* show duration for podcast episodes
* implement generic status bar for playables (tracks and episodes)
omit saved indicator for now as the library does not yet support podcasts
* instead of only the last 50 fetch all episodes of a show
* refactor: extract Playable code to separate file
* implement playback/queuing of shows + sharing url
* implement podcast library
* migrate mpris code to Playable supertype
as sending out PropertiesChanged events was triggered asynchronously by a
message queue, retrieving the metadata during message formatting is too late.
this resulted in two PropertiesChanged messages announcing the new track as
playing.
this should prevent such a scenario.
as discussed in #89