[Android] Support shared library mode for XWalkRuntime when using WindowAndroid.

XWalkRuntime in shared mode requires WindowAndroid to have a share library context
to get resources in shared library.  Use the library context to construct WindowAndroid
in XWalkView.

BUG=https://github.com/crosswalk-project/crosswalk/issues/678 , 666
[Tools] Add increment-version.py.

It is a more generic version of bump-canary-version.sh, and allows one to
increment either the build version (for Crosswalk canaries) and the patch
version (for Crosswalk betas).

Additionally, the new tool is written in Python instead of a mixture of
shell script and Perl, so it also fixes #699.

bump-canary-version.sh will be removed in a follow-up commit because the
existing canary build scripts need to be adjusted to use the new script
after it is committed.
[Android] Implement runtime client with runtime library embedded

We should support both shared and embedded mode for runtime
client to use runtime library, which providing java class, native
lib and pak resources for runtime client.

Currently, only shared mode is implemented. In shared mode,
runtime library is an Android app.

This commit implements an alternative to allow packing runtime lib
embedded in runtime client. The api will stay unchanged and the
client of runtimeView will not aware the difference.

Add a new target, xwalk_runtime_client_embedded_shell, which is
the shell using runtime view with library embeded. It's for
testing purpose.

TODO=https://github.com/crosswalk-project/crosswalk/issues/657
BUG=https://github.com/crosswalk-project/crosswalk/issues/640
[Android] Disabled the testClearHistory testReload temporarily.
Since the device issue, it can not access the network,
so disabled testClearHistory & testReload temporarily.
It will be enabled later.
Merge pull request #746 from kurli/master

[Android] Disabled the testClearHistory testReload temporarily.
[Android] Fix randomly fail issue when copying files for app template

Because in the gyp system, the "copy" action may be executed in parallel,
which breaks the assumption of target "prepare_xwalk_app_template".

So create a new target "prepare_xwalk_app_template_from_chromium", and make
"prepare_xwalk_app_template_from_xwalk" depend on this target.
That would help to serialize the "copy" sequence.

BUG=https://github.com/crosswalk-project/crosswalk/issues/734
Merge pull request #743 from junmin-zhu/random

[Android] Fix randomly fail issue when copying files for app template
Merge pull request #722 from rakuco/version-increment-tool

[Tools] Add increment-version.py.
Bump version to 1.29.7.0
Merge branch 'master' of github.com:crosswalk-project/crosswalk
[Android] Fork the target for sample app from app template

Sample application should not share the same code with
application template for web developer.
We might want to demonstrate some xwalk's feature in
sample but not in app template.

BUG=https://github.com/crosswalk-project/crosswalk/issues/725
[Android] Implement APIs for external extensions

Similar to native extensions system, we need to allow web developers
or others to write their own extensions. Due to the shared mode, there
are some client classes in runtime client side which are used by
external extensions.

1. XWalkExtensionClient: the base class for external extensions.
2. XWalkExtensionContextClient: the context to be used by extensions to
help get the context.
3. Configuration system: define a configuration system to specify what
kind of extensions to be loaded and created by crosswalk.

So for web developers, an external extension is implemented with below steps:
1. Write the JavaScript code stub same as the native extension system.
2. A new class inherited from XWalkExtensionClient implements the methods
used by JavaScript.
3. Configure the extension in extensions-config.json which should be packaged
in android asset, like:
[
 {
   "name": "myextension",
   "class": "com.example.MyExtension",
   "js_api": "myextension.js"
 }
}

Developers don't have to create and register their extensions. Instead,
crosswalk runtime will load and create them according to the configuration
system.

Next is to add one test case for external extension mechanism.
Bump chromium-crosswalk in DEPS.xwalk.

Bring in the fix in chromium to support android sharing
runtime library. XWalkRuntime in shared mode requires
WindowAndroid to have a share library context to get
resources in shared library.
Merge pull request #751 from wang16/roll_deps

Bump chromium-crosswalk in DEPS.xwalk.
Merge pull request #708 from yongsheng/external-extension

[Android] Implement APIs for external extensions
Merge pull request #724 from sqliu/otcshare-support-share-in-window

[Android] Support shared library mode for XWalkRuntime when using Window...
Merge pull request #731 from wang16/app_demo

[Android] Fork the target for demo from app template
[Android] Pack the files needed by app template for embedded mode

To create an app using embed mode of runtime library.
It needs the relevant java class, native library and assets.

Copy them in target prepare_xwalk_app_template so that
they will included in generated tarball of app template.

BUG=https://github.com/crosswalk-project/crosswalk/issues/657
[Android] Only put necessary files in official archive

The official archive will only include:
1. Runtime Library apk;
2. Hello World apk;
3. Application template for developer.

BUG=https://github.com/crosswalk-project/crosswalk/issues/753
Merge pull request #757 from wang16/official_archive

[Android] Only put necessary files in official archive