[Views] Customize _NET_WM_PID for X11 window backing a Widget

This patch allow us to customize the _NET_WM_PID property of a X11
window that is backing a views::Widget. A new attribute was added to
InitParams that contains the new value, if not set, the PID of the
current running process is used.

The reason for having this ability is to make Task Manager able to
raise the right X11 window when one "running application" is selected.

In Tizen Mobile, we use a shared browser process, that will create all
the windows, and the homescreen launches a different program that will
trigger the launch in the shared browser process. To make Task Manager
work properly we need to set the _NET_WM_PID of the windows we create to
the appropriate PID of the program

Since both Linux Desktop and Tizen Mobile use the
DesktopWindowTreeHostX11, we don't change DesktopWindowTreeHost.

Rework with 34.0.1847.45 code base.
[Android] Use the Chromium TLS for thread local storage allocation

On Android ICS, the max number of thread local storage is limited to 64.
Chromium TLS provides a mechanism to support large number of TLS slots
which is independent of OS restictions.

This commit is to make sure the ThreadLocalPointer uses the Chromium TLS
mechnism instead of directly calling pthread_create_key, so that it can
avoid the crash if the number of TLS slots allocated exceeds the max number
allowed by OS.

BUG=https://crosswalk-project.org/jira/browse/XWALK-841
[Views] Fix compiler initialization order errors.
Enabling Hardware Acceleration with Libva in linux-x86.

This commit is not upstreamable.

Currently, VAAPI only enabled for ChromeOS and Windows on
upstream. Although the ChromeOS uses same libva API as
common linux world, upstream refuesed to enable it for linux
common with maintainence concern. Refer to
"https://codereview.chromium.org/16430003/" for more details.

Upstream confirm VAVDA will continue to be restricted to
CrOS/X86 for dev & testing only and not for chromium road map.
So we maintain it for Crosswalk and that will benifit
linux with VAAPI installed and includes Tizen.
[Android] Allow intercepter to extract paks

Embedders may want to put paks in res/raw instead of assets.
Because for Android Library project, assets is not handled well.
Add intercepter in ResourceExtractor to allow embedder to
provide the interceptable resources' list and the inputstream
to intercept with.
[Android] Turn on WebNotification runtime feature on Android

It's disabled for chrome on Android.
For crosswalk, it will have an implementation working with
Android Notification.

BUG=https://crosswalk-project.org/jira/browse/XWALK-94
[Tizen] Enable geolocation for Tizen

Currently, geolocation is enabled only for Tizen mobile profile.
This patch enables geolocation subsystem for Tizen IVI as well.
[Tizen] Hard code for va driver

This commit is not upstreamable, check details at
https://codereview.chromium.org/15955009/.

It can be mreged with previous libva patchset
d660a3e Enabling Hardware Acceleration with Libva in linux-x86.
[TIZEN] Tag the audio stream as "browser" in pulseaudio.

Tag the audio stream as "browser" in pulseaudio so that all the streams
coming from the web will be considered by Murphy as coming from the same
source and preempt them for example if there's a phone call coming.

At the moment the full Murphy integration is not in place due to some
integration issues with the main loop. But, once we have all the fixes
in place, we will directly connect to the Murphy's resource engine and
start receiving notifications when any another stream preempting the
streams tagged as 'browser'. This will make the Crosswalk fully
resource-aware.
[Android] Change the API for ApplicationStatus in base dir.

Chromium class inherits from Application directly. This is not suitable
for Crosswalk embedding API. Instead, define a new API which can pass Application
instance as the parameter instead of asking users' application inheriting from
Chromium Application.
This fix is due to the change in upstream:
https://codereview.chromium.org/159173002
[Temp] Add support to provide external ozone files in views.

The original patch comes from the ozone-wayland repository. It is
patches/0003-Add-support-to-provide-external-ozone-files-in-views.patch.

From the original commit message:

  We have un-necessary dependency on views. This is a temporary patch
  to include desktop_aura/ as part of view target.

One of the most practical results for us is that running a Crosswalk binary
built with -Dcomponent=shared_library works again.
[Android] Add a new API to simulate activity started on ApplicationStatusManager

When ApplicationStatus initialized after application started, the onActivityCreated(),
onActivityStarted() and onActivityResumed() callbacks will be missed.
This function will give the chance to simulate these three callbacks.

BUG=XWALK-1366
[Tizen IVI] Make HTML5 full screen API work on IVI.

Currently, Crosswalk for Ozone-wayland shows the title bar by default on IVI.
As a result, when webapps enter fullscreen mode using HTML5 fullscreen API,
their title bar still exist.

This patch allows to hide the title bar in fullscreen mode.

Bug: XWALK-896
[Android] Revert "Make the ResourceExtractor use the App context"

This reverts commit 0f1465d5fae40d3fd29b1c47e367eba488d7ef96.
For xwalk shared mode, the ResourceExtractor needs to read assets via Library Context
and write them to app data via App Context, so it must keep the original Context instead
of getting ApplicationContext of it.

BUG=https://crosswalk-project.org/jira/browse/XWALK-1384
[Android] Address Context leak in ResourceExtractor

The leak is fixed by commit "Make the ResourceExtractor
use the App context"(0f1465d5f), which is reverted
because xwalk shared mode needs to keep original Context.

In this commit, the static instance of ResourceExtractor
will be released after the background job is done. The
ResourceExtractor should not be used any more from that point.
[Android] Ignore status from non tracked activities

When activity_1 start activity_2(contains XWalkView), ApplicationStatus will start tracking when XWalkView initialized,
But ApplicationStatus will receive status such as onStop from activity_1, we do not need track activity_1, just ignore it.
For upstream, there is no such kind of case, ApplicationStatus will track all activities inside the package.

BUG=XWALK-1454
[Tizen] Enable media auto play

Current setting blocks some media test cases(XWALK-971) and peace keeper.
So, remove this setting and use the default value.
[Android] Add Resource loading filter for MediaPlayer

Why: There are requirements to customize the MediaPlayer resource
loading on Android which is implemented in Chromium code base.
Till now we have two points:
    1) Support the file:///android_asset in MediaPlayer.
    2) Support app scheme in the resource loading of MediaPlayer.
Unfortunately, the resource loading of MediaPlayer on Andoid goes
a different way from other ports and no interface to handle this.

How: Add a new interface ResourceLoadingFilter to filter the resource
loading(setDataSource) in MediaPlayerBridge, which could be used in
xwalk to do the customization by overriding the function of
shouldOverrideResourceLoading() in xwalk.

BUG=https://crosswalk-project.org/jira/browse/XWALK-880
[Extensions] Build glib message pump on Ozone

The GLib mainloop is a nice to have on the Extension Process (only) to ease
the integration with DBus based services.

The patch won't make glib the default, but will make it possible
to use it if explicitly declared.
[Tizen] Enable blink::ScreenOrientation and blink::OrientationEvent by default

SSIA.