session-manager: implement a way to use the same interfaces for implementing objects instead of using the client-{endpoint,session} objects
The initial design of using client-{endpoint,session} objects seems to have been a bad idea, as many hacks are required to make endpoint streams and links work in WirePlumber (which is why I haven't yet implemented that!)
With this model (based after the pw_metadata implementation), it is much easier to implement session management objects.