Fix MPRIS issues with disconnecting clients
When clients disconnected and they were not the active client they would not be removed from the list. This caused the controller to create a proxy for non-existing clients, causing a bad state. The "connecting" boolean was also not reset, meaning that a new MPRIS client would never be used.
Also, there seems to have been a race caused by the fact that we destroyed the DBus proxy from the vanished signal. Change the DBus proxy to be removed when its g-name-owner property becomes NULL.
Fixes #45 (closed)