gstplayer: Improve state handling
The initial run of a pipeline does not trigger a state-change bus message. This resulted in several workarounds to trigger a duration signal. Turns out async-done is a more reliable way to get relevant state changes. Use async-done to trigger state and duration changes in GstPlayer.
Closes: #274 (closed)