[GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events

Backport of http://trac.webkit.org/changeset/160216
[GStreamer] Fix caps negotiation in playback pipeline

Backport of http://trac.webkit.org/changeset/172338
[GStreamer] Lazy GstFFT initialization

Initialize the GstFFT structures only if needed, this allows to spare
a few arithmetic function calls.
[WebAudio] Spare an AudioBus copy

The HRTF database sample rate is already set correctly by the
GStreamer AudioFileReader.
[WebAudio] Process each HRTF database channel in a single FFT

Instead of performing one FFT per elevation per channel (total: 480
FFTs) only one FFT per channel is performed. Then smaller FFTFrames
are creating by copying ranges from the bigger ones.
[WebAudio] Block AudioContext until the HRTF database is fully loaded

The Raspberry Pi has only one CPU core and keeping the audio context
active while the HRTF db loads is seriously slowing down the HRTF db
thread. In that configuration it takes about 23 seconds to load.

Blocking the AudioContext while the HRTF db thread is running allows a
faster loading of the db (in about 13 seconds). The biggest drawback
though is that the entire WebProcess is blocked during that time.
Merge pull request #7 from Metrological/webaudio

Webaudio support improvements