composition: Add a property defining deactivated elements state

In the composition many elements are not used, until now, they were
always set to the PAUSED state though it makes sense to be able to
do gapless playback it is sometimes not ideal to preserve memory
usage and it means the more children the composition has the more
threads are used and it is very simple to reach the kernel hard
limit number of threads. In order to avoid that to happen, we set
default state of unused thread to READY and we add a property to
the composition so that users can override that default behaviour.

+ Make sure we send "stream-start" again when changing our ghostpad to
avoid "Data flow before stream-start assertion"

+ Fix unit tests, do not check refcount when changing state as it can
vary.

https://bugzilla.gnome.org/show_bug.cgi?id=596849
tests: Add a test to ensure we don't seek twice.
composition: Avoid to seek several times the stack
gnlcomposition: Take the composition lock going from PAUSED to READY

Avoiding races where we are updating the pipeline at the same time we
are actually shutting it down
composition: Don't forward flushes when updating the pipeline ourselves.
Revert "composition: Don't forward flushes when updating the pipeline ourselves."

This reverts commit 1753691dabadcf69f10c5034b90b892afd0cf152.
tests: documents test_no_double_seek in composition
tests: Add a test to ensure we only forward relevant flushes.