This allows to implement signal dispatching to other event loop systems than
GLib without having direct GLib support in the base GstPlayer class. A
implementation for the GLib main context is provided and used in the
applications and tests.
The application now will get one of 4 states via a signal:
STOPPED: After EOS, error and when explicitely stopped
BUFFERING: When moving to the lower states, or we get buffering messages,
also when seeking.
PAUSED and PLAYING: When having reached that state and it's our target
Also we now always first go to PAUSED state before we seek, and also before we
go to PLAYING. This allows us to deterministically change states and makes
everything a bit more robust.
As a side-effect, get rid of the is-playing property. Applications can now get
this from the corresponding signal if they need to know.
Additionally now notify the application about the buffering percentage.
Also fix a few bugs related to state handling and buffering.