composition: cleanup dispose / finalize
composition: No need to children state locked anymore
composition: Set children caps only when they are added to the composition

No need to do it again on READY_TO_PAUSED
composition: Remove the reset children method

as it is all already done in _empty_bin ()
composition: Take the objects lock when reseting the composition
composition: Minor cleanups
composition: Make sure we have a peer when we send flushes downstream

And avoid leaks
composition: No need to reset the composition when going to PAUSED or NULL
composition: Avoid a race in PAUSED_TO_READY

as we were using our children list in there without locking them.
composition: Remove locking making sure that we manipulate children in right places
composition: Don't send flushes downstream on pipeline update.

The code is still a bit redundant in set_current_bin_to_ready, need
to discuss.