Rename the source-output object to channel because it is used for both
input and output.
Start the beginnings of sink support. This will make it possible to make
pinos consume data as well as provide data.
Detect a format change in the payloader and post an element message.
Catch the format change element message in the client-source and use it
to update the format and possible formats in the source and source-outputs.
Make sure we unref the source-input when it is removed.
When the source-input is removed, we should also unref the source. Do
this by adding the source as data for the source-input and unreffing it
when the source-input is freed.