[GStreamer] Set the request URL as first party in WebKitWebSrc

I'm not sure this is the right fix, but it makes HLS work on Vimeo
again: when using HLS Vimeo now sets an authentication cookie on the
primary playlist and will return 403 if it is not set on the following
requests.

Playlists come from the av91.hls.vimeocdn.com domain, while the document
is usually from player.vimeo.com: this means that if we don't set the
first party URL, the one from the document will be used and the request
to set the cookie will be refused due to mismatching hosts.

This can be tested by trying to play the video below:
http://player.vimeo.com/video/90103691?title=0&byline=0&portrait=0
[GStreamer] Don't advertise support for HLS videos

Playing HLS seems to have some issues that we've not further
investigated, but currently break videos on Vimeo:
http://player.vimeo.com/video/90103691?title=0&byline=0&portrait=0

Drop "application/vnd.apple.mpegurl" from the list of supported media
types to make canPlayType() fail on it, causing video players to fall
back to other formats.
[GStreamer] Don't advertise support for H.264 High Profile

OMX doesn't have enough resources to play 1080p videos and dropping
H.264 High Profile from the formats where canPlayType() succeeds makes
Vimeo choose streams with lower resolution:
http://player.vimeo.com/video/90103691?title=0&byline=0&portrait=0
Fix indentation of ChromeClient::paintFullscreenVideo
[FullscreenVideo] Prevent TBS working from fullscreen mode.

We don't need to update the tiled backing store at all while fullscreen video playing.
Fullscreen video should play well without it.
[FullscreenVideo] Scaling up video size for the full screen mode should be done by dispmanx
Revert "[VideoSinkGStreamer] Lower video frame callback priority"

This reverts commit 2babc9a76039dfc91ae218973a7ad16ab7603cad.

Now that the buffer received callback only results in a invalidation of
the area to be direct painted it has become far less expensive and
there's no point in having it at a lower priority than the redraw loop
itself.

This may have been a problem for fullscreen video painting, which still
happens during invalidation and not on ::draw(), but the lower priority
is causing even more trouble there since simply moving the mouse would
cause frames to be dropped.

For the GTK port we now have:

priority(input)
  == GDK_PRIORITY_EVENTS      == G_PRIORITY_DEFAULT      ==   0 >
priority(redraw)
  == GDK_PRIORITY_REDRAW      == G_PRIORITY_HIGH_IDLE+20 == 120 >
priority(internal timers)
  == GDK_PRIORITY_REDRAW + 20 == G_PRIORITY_HIGH_IDLE+40 == 140 >
priority(network completion)
  == GDK_PRIORITY_REDRAW + 30 == G_PRIORITY_HIGH_IDLE+50 == 150
[FIX][FullscreenVideo] Fix non-direct-paint invalidations

In most pratical cases this wasn't a problem since we were still going
to invalidate the whole scene on the next video frame, but this also
makes sure stuff works even if direct paint is disabled.

This could probably be folded with the original commit:
08615334f8d0 [FullscreenVideo] Prevent TBS working from fullscreen mode.
[GStreamer] Drop redundant checks

No need to call clear() before zeroing out a GRefPtr as it will
automatically take care of unref'ing the current value by itself.

For the same reason there's no need to clear a GRefPtr which gets
assigned shortly afterward, the assignment will take care of all the
ref/unref needed.

Also, ImageGStreamer::createImage() cannot return an empty pointer, no
need to check for it.
[GStreamer] Copy current frame when releasing GStreamer buffers

Since "Do HW scaling when user contraints size for html5 video element"
we handle GST_QUERY_DRAIN to release all the outstanding GstBuffers.

With "Derive the native video size from the decoder sink pad" the DRAIN
query can happen when the video area is resized to match the native size
of the video stream: this produces a repaint request with no available
frame, producing a glitch where no video content is rendered.

To prevent the glitch we now copy the contents of the current buffer in
a image surface on DRAIN, such that repaint will still have the old
contents available.
[PlatformContextCairo] Allow to select the default cairo filter

By default, on the RPi, CAIRO_FILTER_FAST is used as default filter,
resulting in faster scaling but with occasional artifacts.
Setting the environment variable WEBKIT_DEFAULT_FILTER to “bilinear”
makes WebKit use CAIRO_FILTER_BILINEAR instead.
[webkitwebview] Suspend scripts completely when a tab is inactive
Revert "[GStreamer] Call MediaPlayer::durationChanged() after the duration is discovered"

I believe the patch made in a very early stage of the project is no
longer needed (it was carried over from the rpi-2.1.4 branch).
If the duration is changed by GStreamer, WebKit should handle it in
MediaPlayerPrivateGStreamer::handleMessage and call
MediaPlayerPrivateGStreamer::durationChanged, not
private->durationChanged() directly.  A user reported a bug regarding
this, and the main reason of the bug is a infinite recursion loop caused
by the patch which is being reverted:

HTMLMediaElement::mediaPlayerDurationChanged ->
MediaPlayer::duration ->
MediaPlayerPrivateInterface::durationDouble ->
MediaPlayerPrivateGStreamer::duration ->
MediaPlayer::durationChanged ->
HTMLMediaElement::mediaPlayerDurationChanged when m_mediaDuration = 0

This reverts commit 92046e2928d50c983b674f21065c43f66baebb80.
[Build] Drop -Wcast-align flag

Any cast from GstObject-derived classes to any of its parent classes or
to GTypeInstance will trigger a warning due to guint64 members which
change the alignment requirements.

With the generated noise spotting warnings we care about becomes really
difficult, defeating the purpose of having such warnings.
[Rpi] Disable -Wunused-but-set-variable around bcm_host.h inclusion

The current (2014-09-09) bcm_host.h header triggers a warning about
a variable being set without being used afterwards.

Tell the compiler to ignore it to reduce build noise.
[GStreamer][FIX] Fix missing initializer warning

Initialize the reserved but not used area of GstAllocationParams to 0.

This could be folded with the original commits:
16239423101a [VideoSinkGStreamer] can propose GstWaylandBufferPool
a7ce21e58a9a [GStreamer] [Cairo] avoid any frame copy in the application process
[DirectPaint] Fix video element picking on scrolled views

This could be folded with the original commit:
9aea98bbac92 [DirectPaint] Use hit testing to find the MediaElement
[DirectPaint] Minor cleanup when dealing with paintRect vs. videoRect
[DirectPaint] Minor cleanup using the right overrides when doing translations
[DirectPaint] Move coordinates translation for scroll to doDirectPaint()

Let doDirectPaint() account for the current scroll position instead of
precomputing it in the cached areas, making the code more simmetric
across the two direct paint paths and more self-contained.