[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
[Extensions] Add DidCreateModuleSystem hook

Added an interface to be implement by the users of
XWalkExtensionRendererController, with a function that is called
everytime we create a XWalkModuleSystem. This allows the users of
extensions to add their own (native) modules to that module system.

This need was prompted by pull request #612.
Fix the bug related to window sizing

Initialize the bounds based on work area size in Tizen environment
to fix the window sizing issue. The previous commit 60a9fcb doesn't
fully fix the issue.

Thanks to Dongseong for the input.
Merge pull request #887 from nagineni/window_size

Fix the bug related to window sizing
Merge pull request #886 from cmarcelo/hook-for-registering-native-modules

[Extensions] Add DidCreateModuleSystem hook
[Extensions] Separate loading JS code from extension module registration

This is a step towards loading JS code on demand.
[Extensions] Make XWalkExtensionClient unaware of ModuleSystem

XWalkExtensionClient job is to communicate with its Server, and provide
access to instances. Currently XWalkExtensionRendererController knows
all those objects, so it can glue the pieces.
[Extensions] XWalkExtensionModule create its instance

Now it's up to XWalkExtensionModule to create its instance in the
Client. This is a preparation for only creating an instance when the
extension is loaded.

As part of the change, the RemoteRunner abstraction was removed. In the
end, it wasn't bringing us much separation, especially now
ExtensionModule needs a way to create instances (which is Client job).

The runner had an interface that the ExtensionModule implemented, and
was used to tell it about messages from native. This interface was moved
to XWalkExtensionClient::InstanceHandler.
Merge pull request #877 from cmarcelo/remove-remote-runner

[Extensions] Make ExtensionModule create its instance
[Android] Disable CORS for file:// schemes.

Cross-Origin request breaks the web security policy, only same-origin
request should be allowed for file:// schemes, so universal access
from file URLs should be closed.

BUG=https://github.com/crosswalk-project/crosswalk/issues/790
Merge pull request #882 from tmpsantos/jsapi

[Extensions] Keep the IDL file close to the implementation
Bump version to 2.31.17.0
Fix the issue getUserMedia can't work if rebasing to Chromium 31

Crosswalk debug mode crashed when it accessed getUserMedia API, and
release mode also can't work.

The root cause was listed as followed:
1. Chromium upstream improved related code, now EnsureMonitorCaptureDevices
   is just a wrapper, it runs in UI thread, and the real major code is
   still running in IO thread.
   Please see: https://codereview.chromium.org/17508005/
2. It is an error from rebasing, GetMediaObserver callback was changed
   to be NULL.
Merge pull request #878 from yinli/getUserMedia_yinli

Fix issue getUserMedia can't work when based chromium rebased to 31
Merge pull request #791 from gaochun/permission_control

[Android] Disable Cross-Origin request by default.
Merge pull request #809 from junmin-zhu/embed

[Android] Support embedded mode in packaging tool.
[Extensions] Add support for persistent callback listener

This is going to be the base of the EventTarget implementation. It is
important to remove the listener at some point otherwise the object will
leak.
[Extensions] Move xwalk_js2c.gypi to the XWalk root dir

This is now going to be used also by the upcoming SysApps.
[SysApps] Add the convenience classes and prototypes

These C++ classes and JavaScript prototypes are helpers for the common
places that appear all around the SysApps APIs specifications.

The main features are:

- Helpers for creating objects managed by the extension.
- Easy way of declaring API methods.
- EventTarget implementation, and thus, helpers for dealing with
  events.

For more information, check the documentation on the code.
[SysApps] Add unit tests for the convinience classes