[Tizen] Sensor support

SensorProvider class is designed to abstract sensor framework and
provide all sensor related notification for xwalk (currently support
rotation, orientation, will support motion, compass, geolocation
and gyroscope in future). TizenPlatformSensor is the platform
depended part for Tizen mobile system. It is designed to not depend
Tizen in build time.
Use empty name to inject JS to avoid revealing code.

If we run a named piece of JS code, v8 will try to cache it, so in the
"Source" Panel of Devtools the JS code of extension will be revealed.

Just use an empty name to run extension JS code and output the exception
messages to log.
[Extensions] Remove CHECK() when destroying service

When running Crosswalk as a tool for manage packages (--install and
related parameters), the lifetime of Browser Process is different than
when running it for loading an application. In that scenario invariants
we expected do not hold anymore, in particular, we never enter the
codepath that destroys the in process extension server.

A better fix is to ensure that --install (and others) do not even create
XWalkExtensionService in the first place. A new issue was created for
that: https://github.com/crosswalk-project/crosswalk/issues/839.

BUG=https://github.com/crosswalk-project/crosswalk/issues/706
[Temp] [Android] A temporary way to enable WebGL for Android port.

This is a workaround because some platforms do not support the
GL extension 'GL_{ARB,EXT}_robustness' and the reset notification.
But the pass rate is pretty good for IA platforms. Suggest to
enable WebGL. Do it by using '--ignore-gpu-blacklist' because
it'll bypass this kind of checking.

BUG=#831
[Android] Add python script to parse and extract XPK file

The script will do:
1. Check the magic file header;
2. Verify the signature of the XPK file;
3. Extract the content of the XPK file to some folder.

It is used by make_apk.py.

BUG=https://github.com/crosswalk-project/crosswalk/issues/738
[Android] Add the instrumentation test for runtime client.

This patch is the implementation of instrumentation test for
runtime client, it tests the Runtime APIs in the file "XWalkRuntimeClient.java".
This patch contains the test about embedded and shared client.

Implement a callback function in the test client, transfer it to
XWalkCoreProvider, then set it to the XWalkClient.
In the XWalkClient's callback, invoke the callback functions
which we defined, notify the test client about the page status.

For embedded client test:
    1. install XWalkRuntimeClientEmbeddedShell.apk
    2. python build/android/test_runner.py instrumentation \
       --test-apk=XWalkRuntimeClientEmbeddedTest -v

For shared client test:
    1. install XWalkRuntimeLib.apk
    2. install XWalkRuntimeClientShell.apk
    3. python build/android/test_runner.py instrumentation \
       --test-apk=XWalkRuntimeClientTest -v
[BuildFix] Add an explicit dependency on webkit_support.gyp:glue_child

This fix is to add an explicit dependency on webkit_support.gyp:`glue_child` to
`xwalk_runtime` target, otherwise, xwalk will throw an error message
saying 'HeapProfilerStart symbol is not found' at runtime.

BUG=https://github.com/crosswalk-project/crosswalk/issues/859
Merge pull request #845 from yongsheng/webgl

[Android] Enable WebGL for Android port.
[Tizen] Introduce AppcoreContext to make Tizen task switcher be able to control
Crosswalk's web applications.

Crosswalk's web application must communicate with Tizen application framework.

The most important task we need to do is to call appcore_init() in Tizen.
appcore_init() connects Tizen task manager via IPC. After calling
appcore_init(), the given process that called appcore_init() can communicate with
Tizen task switcher.

AppcoreContext calls appcore_init() with a callback function, and handles
messages in the callback function. Currently, AppcoreContext handles only
AE_TERMINATE message. When AppcoreContext receives AE_TERMINATE message,
AppcoreContext quits the Crosswalk. The task switcher sends AE_TERMINATE message
when an user kills the app on the task switcher.

AppcoreContextImpl uses private Tizen appcore API to reuse Tizen 2.0 implementation.
This private implementation of appcore is a bit huge. We will decide later
whether to maintain the code similar to appcore private implementation in Crosswalk
or not after investigating appcore in Tizen 3.0.

To concentrate Tizen implementation detail on cc file, we declare
AppcoreContextImpl that extends AppcoreContext in cc file.

NOTE: this implementation is not compatible with shared process mode, because
Tizen task switcher cannot recognize multiple tasks per process. Shared process
mode requires one Crosswalk process to include multiple tasks (= web applications).
It is not supported by current task switcher.

appcore_context.cc is similar to a part of appcore-efl.c in appcore.

BUG=https://github.com/otcshare/crosswalk/issues/609
Merge pull request #870 from hmin/build-fix

[BuildFix] Add an explicit dependency on webkit_support.gyp:glue_child
Merge pull request #769 from zliang7/master

[Tizen] Sensor support for crosswalk
Merge pull request #825 from ds-hwang/appcorenew

[Tizen] Introduce AppcoreContext to make Tizen task switcher be able to control Crosswalk's web applications.
Merge pull request #840 from cmarcelo/dont-assert-destruction

[Extensions] Remove CHECK() when destroying service
Merge pull request #828 from PeterWangIntel/update-master-amend

Use empty name to inject JS to avoid revealing code.
Bump version to 2.31.16.0
Merge pull request #811 from wuhengzhi/runtime_client

[Android] Add the instrumentation test for runtime client.
Merge pull request #800 from wang16/xpk_parser

[Android] Add python script to crack XPK file
[Android] Support embedded mode in packaging tool.

Some developers want to package web app with independent
xwalk's runtime library, and don't care the size of it
too much.

Pacakaging tool would copy all the xwalk's runtime library
into target application package, which includes the
.so, .jar, .apk file etc. By default, packaging tool
uses shared mode for web application.

Sample Usage:
python make_apk.py --name=Intel --package=org.xwalk.example
--app-url=http://www.intel.com --mode=embedded

BUG=https://github.com/crosswalk-project/crosswalk/issues/765