Split setup of pipeline and state change to inspect the pipeline formats
and properties. Pass the device monitor caps to the gstreamer source so
that we don't have to query that again.
Work on adding time provider to the sender pipeline. Send the port and
address to the client in the source-output object properties.
Improve properties API and add some more docs.