[Android] Add navigation handler for handling platform-specific schemes.

Some platform-specific schemes are needed to be handled, eg, "wtai://", we
provide default navigation handler in XWalkView to support such schemes.

"wtai://" is a protocol scheme that can initiate a dialog with the mobile phone
user whether to place a call to that number, send an SMS message, or store the
number in the address list of the mobile phone.

See: http://www.w3.org/wiki/UriSchemes/wtai

In this patch we support placing a call. And other functions will be added later.

BUG=https://github.com/crosswalk-project/crosswalk/issues/380
[Android] Enable app customize/build tools works on Window Host.

Original customize/build tools are only verified on Linux Host.
They have some environment assumptions for Linux, which would
break the app build on Windows Host. What's more,
there are also some differences for default behavior of build tools,
such as: ant etc. This patch will fill the gap, make app
customize/build tools works on Window Host.

1. Fix the different path separator on different OS host.
2. Fix different default ant behavior on diefferent OS host.
3. Fix different extension for executable binary on different OS host.
4. Fix python subprocess work different on different OS host.

BUG=https://github.com/crosswalk-project/crosswalk/issues/616
[Extensions][Windows] Enable ExtensionProcess for Windows
[Mac] Fix for build

Use <sys/prctl.h> and prctl() only on Linux (OS_LINUX) and not Posix (OS_POSIX).

This seems to be the way Chromium guards the items.
Bump chromium-crosswalk in DEPS.xwalk.

Bring in fixing in android testing facility for emulater support.
Add generated main document URL request job support

A generated main document is an empty HTML document which <body> tag contains
JavaScript files specified in manifest.json. Ref to:
http://anssiko.github.io/runtime/app-lifecycle.html#a-single-entry-point-to-the-application

The GeneratedMainDocumentJob implementation is borrowed from Chromium extension
GeneratedBackgroundPageJob. When a URL request matches
"_generated_main_document.html" file name the job will be created and returns
the generated content.
Add main document launch support

Main document is an invisble document no matter whether it is a real file or a
generated one. Working as the main entry of an application, the main document
must be loaded before other pages.(see
http://anssiko.github.io/runtime/app-lifecycle.html)

So the Runtime::Create() is modified to create a Runtime instance without attach
to any app window, and the WebContents' initial size is also set to (0,0).
Runtime::CreateWithDefaultWindow() now works like previous Runtime::Create().
Currently we support application both run from main document and local path,
however the local path support may be deprecated in the future.
Add main document browser test
[Android] Add reload getTitle clearHistory in XWalkView for internal use
- Load: reload
- UI: getTitle
- Navigation: clearHistory
- Add stop, reload buttons in XWalkViewShellActivity
- Add testcase for reload, clearHistory
Merge pull request #656 from seanlong/master

[Runtime] Add main document(aka "event page") launch support
[Tools] Add bump-canary-version.sh.

This script is used to automatically bump Crosswalk's build version (ie. the
"3" in version "1.2.3.4"), so that the automated Canary generation machinery
can used it to bump versions and commit when all canaries build and pass all
tests.

Using a simple, POSIX shell script with Perl one-liners is much quicker than
writing a full-fledged Python script just to perform some glorified sed's,
and I hope the Perl is easy enough to understand.
Merge pull request #697 from rakuco/bump-version-script

[Tools] Add bump-canary-version.sh.
[Tools] Simplify the newline logic in generate_gclient-xwalk.py.
[Tools] Accept --cache-dir in generate_gclient-xwalk.py.

See r210024 in Chromium: the (still experimental) "cache_dir" option in a
.gclient file allows gclient to set up a local mirror for git repositories
(by passing --mirror to `git clone') and then use them to speed up clones by
passing --reference and --shared to `git clone'.

This means that once a repository such as blink-crosswalk is mirrored like
this, creating one or more clones takes a few seconds instead of an hour or
more (provided "cache_dir" is properly specified in the .gclient files).

This feature is not very useful in the general case, as developers do not
normally have multiple clones around or need to clone from scratch very
often, but it helps a great deal in automation, as one can cache the
repositories once and test full builds much faster.

Important note: "cache_dir" is not supported by the depot_tools version
checked out by our Chromium 29.0.1547.57, but most people have their own
copy of depot_tools somewhere else anyway.
Merge pull request #698 from rakuco/gclient-cache-dir

[Tools] Add --cache-dir support to generate_gclient-xwalk.py.
Fix change that went in by mistake

I'm testing things locally without those flags because they are broken
in my test environment. The problem was reported to Kenneth. Sorry for
the noise.
Merge pull request #700 from cmarcelo/fix-wrong-change

Fix change that went in by mistake
Merge pull request #693 from poussa/mac-compile-5

[Mac] Fix build
Clean up in use of DesktopRootWindowHostXWalk

DesktopRootWindowHostXWalk serves as our "desktop environment"
per scree, which is somewhat similar to the X11 window manager
concept.

The specialized version of DesktopRootWindowHost (*XWalk) in
our situation, is created as part of DesktopNativeWidgetAura
initialization, but requires build system changes for doing so.

This patch cleans up part of the code, making it very clear
why we manually creates DesktopRootWindowHostXWalk and why it
works. It also removes the ::Create method which is called
by DesktopRootWindowHost because it is wrongly named, and if
named correctly it will conflict with the symbol from *X11.
Use unsigned int for data comparison inside ASSERT_GE()

Buildbot reports warning message "C4018: '>=' : signed/unsigned
mismatch" if the arguments of function ASSERT_GE() have different types.
Since runtimes.size() returns an unsigned int value, this CL changes the
other value to the same type for comparison.