ClutterGstPlayback: implement a method to get position in seconds
ClutterGstPlayback: Rework the download buffering mode

The current implementation of CLUTTER_GST_BUFFERING_MODE_DOWNLOAD didn't
actually do any real useful buffering. When using download buffering
ideally one downloads enough of the remote file to disk such that when
playback start the full file can be played without buffering again.

This patch changes the download buffering codepaths to keep buffering
(by default) until the remaining playback time is about 10% longer then
the remaining download time. I've also added a signal which an
application can hook into to change the default policy.

Once initial buffering is done, the pipeline will only start buffering
again when the low threshold from queue2 is hit (e.g. we misestimated
and we can't continue until we buffer again) or when the user seeks (at
which point we need to re-evaluate the situation).

The changes done in this patch also decouple the pipeline target state
from the api visible target state. This prevents the user from forcing
the pipeline out of buffering by hitting pause, play.
video-player: By default use download buffering

Using download buffering by default is always safe to do for non-local
sources. Gstreamer will automatically fallback to stream buffering if
download buffering isn't possible or suitable for the remote media
clutter-gst-playback: fix comment typo