Pause gstreamer when buffering

When the `playbin2` pipeline is in `PLAYING` state and its buffer is empty the
pipeline will consume arriving data immediately. If the source is an HTTP
stream this leads to choppy playback. To fix this we pause playing when the
buffer is nearly empty and wait for it to fill up until we resume playing. This
approach is recommended in the gstreamer manual [1].

We might want to extract the hard-coded 10% mark and make it configurable.

[1]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-buffering.html
Set buffer properties of gstreamer pipeline

Manually set the `playbin2` buffer properties to their default values. The
default values are not documented but hard-coded in gstreamer [1].

This is a starting point for making these properties configurable. For example
we might want higher values on system with unsteady network connection.

[1]: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/playback/gsturidecodebin.c?h=0.10#n1714
Don’t start playing automatically when buffer is full

Previously, when `Audio.pause_playback()` was called while buffering, the audio
actor would switch back to the playing state when the buffer was full.
Add tests for Audio buffering
Merge pull request #715 from geigerzaehler/gst-buffer

Pause gstreamer when buffering