[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
[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
[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.
[Android] Calling enableRemoteDebugging multiple times should not restart server

If remote debugging is already enabled, then just return the debug URL.
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
Merge pull request #875 from gramakri-intel/remote_debugging

[Android] Calling enableRemoteDebugging multiple times should not restart server
[Extensions] Pass XWalkExtensionFunctionInfo as a scoped_ptr

We were previously passing it as a const reference. Now we are giving
the ownership to the recipient. The next patches will be fixing
the thread safety of this class and the limitation that it cannot
outlive the XWalkExtensionInstance.
[Extensions] Make it safe for XWalkExtensionFunctionInfo to outlive XWalkExtensionInstance

XWalkExtensionFunctionInfo will now send the results to the
XWalkExtensionFunctionHandler, which is a weak reference. Checking if
the weak reference is valid only works on the same thread which
the weak reference was created, but this going to be fixed in the
upcoming patch.
[Extensions] Add more XWalkExtensionFunctionHandler unit tests

This new test is ensuring that calling PostResult in a
XWalkExtensionFunctionInfo after the XWalkExtensionInstance is deleted
doesn't have any bad side effect.