Fix build for Windows.

Windows switched to Aura therefore we need to remove the old code
path and use the generic method to access the title. The compilation
failure was due to the fact that NativeWindow type is not anymore
a HWND.

BUG=936
[Android] Create the XWalkRenderViewExt object.

XWalkRenderViewExt is a class that handles several IPCs from the class
XWalkRenderViewHostExt. To make it work, an object of XWalkRenderViewExt
must be created first.
[Android] Fix incorrect res ids for apps using cordova xwalk

Cordova xwalk container is using xwalk core library as an
Android library project.
For Android library project, it will generate the R.java for
it when building the project depends on it (Let's call it app
project). But the R.class will be excluded when generating
classes.jar. Then the resources within both app and library will
be put together to generate R.java for both app and library
package, it is to make sure the ids for them will not be conflicted.

Meanwhile, the dependencies for android java target in gyp system
is not the same. It breaks down the ant tasks and customized them
in very complicated way, each java src target which contains resources
will produce an R.txt which has allocated ids in it. The project
depends on it will generate R.java based on that to avoid conflicts.

The two things can't work together, but the command line interface
cordova container provides to developer should not be changed.

The solution is here,
Take all resources within xwalk core library as resrouces for library.
An R.java will generated at code-gen step for them. This patch will
overwrite the pre-compile step between code-gen and compile.
The step will copy R.java for core library to package
org.chromium.content and org.chromium.ui, as well as replace the
determined id values in it with the references to org.xwalk.core.R.

BUG=https://github.com/crosswalk-project/crosswalk/issues/862
[Android] Return the correct context for external extensions

The previous implementation returns the context of runtime side which is
a context for library package. This is true for internal extensions. However,
for external extensions, the context should be the same as the activity
because they're inside of runtime client. This is to fix the issue to return
the activity as the context for external extensions.

BUG=#777
[Android] Add one interface to set whether to load external extensions.

For some usage scenarios, external extensions are not needed
because it has its own plugin or extension mechanism. Hence here a new
method is used to enable/disable the mechanism to load external extensions.

BUG=#948
[Android] Define the class XWalkRuntimeViewProvider as an interface.

It's an abstract class and some shared implementations are included
and will be used by inherited classes. However, xwalk core library needs
an interface which will be implemented by the container.
To meet this requirement, split this class into two: one interface containing
all methods and the base class to contain some shared implementations like
managing extensions.
Merge pull request #938 from darktears/win-test-fix

Fix build for Windows.
[Windows] Remove uneeded files after the move to Aura.

We don't need these files as we moved to Aura. They are excluded
from the build upstream.
[Extensions] Add XWalkJSModule

A XWalkJSModule implements the XWalkNativeModule interface by executing
a JavaScript code everytime an instance is required. This allow us to
easily provide JS helpers and libraries to extension writers.

This will be used to remove the global definitions we use for "internal
extensions" functionality.
[Extensions] Change how "internal extension" helper is exposed

When writing extensions inside Crosswalk, we have the option of
generating an input validator / parameter serializer based on an IDL
file.

We exposed this facilities inside a "xwalk" namespace and wrapped them
for each extension being loaded. Unfortunately this also ended up
exposing these functions to web content.

This patch changes the code to use the new XWalkJSModule. The setup
process became a different, now extensions that use this facility,
should do:

   // Setup for using the facilities.
   var internal = requireNative("internal");
   internal.setupInternalExtension(extension);

   // And to post a message.
   internal.postMessage(...);

Most of the code used to create an 'internal' variable anyway, so in
practice this change affects only the setup.
Merge pull request #957 from cmarcelo/js-module

[Extensions] Add support for requiring JS modules
Merge pull request #955 from darktears/win-fix-aura

[Windows] Remove uneeded files after the move to Aura.
Bump version to 2.31.22.0
Merge pull request #922 from wang16/core_library_res

[Android] Fix incorrect res ids for apps using cordova xwalk
Merge pull request #952 from gaochun/XWalkRenderViewExt

[Android] Create the XWalkRenderViewExt object.
Merge pull request #954 from yongsheng/errorcontext

[Android] Return the correct context for external extensions
Merge pull request #949 from yongsheng/948

[Android] Add one interface to set whether to load external extensions.
Merge pull request #908 from yongsheng/refactor

[Android] Define the class XWalkRuntimeViewProvider as an interface.
[Android] Implement setNetworkAvailable method in XWalkView

The setNetworkAvailable method allows XWalkView embedder to trigger
window.online/offline event and set navigator.onLine property on JS side when
the network connection is up or down. This fix is to implement this method by
adding a render process observer on native side to watch the network availability
change notification from browser process. At present, it is only used by Android
port.

BUG=https://github.com/crosswalk-project/crosswalk/issues/880
TEST=org.xwalk.core.xwview.test.SetNetworkAvailableTest