[Extensions] Pass the runtime_variable ownership forward

We can avoid a few copies if we use the shared_ptr + .Pass() idiom.
[Extensions]: Expose the extension path to the extension

There is an use case, specially with pycrosswalk, where you can have
multiple instances of the same extension loaded using symbolic links.

The extension needs to know about itself (the path to be more precise)
to figure out what python script it should load.
[Android] Fix issue of make_apk does not work with Andorid SDK tools 23.

Android SDK tools 23 moves the 'zipalign' to $SDK_ROOT/build-tools, this
does not compatible with older SDK versions wich put 'zipalign' under
$SDK_ROOT/tools

Update the patch to make make_apk compatible with Android SDK tools 23.
Also refer to: https://codereview.chromium.org/238253015

BUG=https://crosswalk-project.org/jira/browse/XWALK-2033
[Android] Fix CPU architecture mismatch causes crash in crosswalk runtime

In runtime, it will try to get the version of runtime library
before using runtime view. Which causes crash if CPU arch mismatches
for crosswalk native library.
Fix this by stop executing to avoid crash after detected CPU arch
mismatch.

BUG=https://crosswalk-project.org/jira/browse/XWALK-2011
Merge pull request #2149 from wang16/fix_x86_on_arm

[Android] Fix CPU architecture mismatch causes crash in crosswalk runtim...
[Android] Improve make_apk's Which() implementation.

Make it behave more like which(1), in that it just returns a string if a
certain binary is found in PATH and None otherwise.

This also happens to fix a few corner cases, such as a path being found
but actually being a directory, as just os.access() is not enough to
make sure a file is a file.

While here, also provide a more helpful message when the `android'
binary is not found.
Merge pull request #2147 from sqliu/zipalign

[Android] Fix issue of make_apk does not work with Andorid SDK tools 23.
Merge pull request #2121 from tmpsantos/extension_path

[Extensions]: Expose the extension path to the extension
Create a compile time flag for Shared Process Model

Before this change Shared Process Model could be enabled
using 'xwalk' command line argument, this however does not
fit now as 'xwalkctl' also needs to be aware whether
Shared Process Model is enabled or not.
The 'shared_process_mode' gyp flag was introduced to solve the
issue described above.
Merge pull request #2151 from pozdnyakov/SHARED_PROCESS_MODE

Create a compile time flag for Shared Process Model
Merge pull request #2152 from rakuco/improve-makeapk-which

[Android] Improve make_apk's Which() implementation.
Bump version to 8.36.164.0
Merge branch 'master' of github.com-crosswalk:crosswalk-project/crosswalk
[Android] Embedding API v2

This commit added following APIs as Embedding API:
XWalkResourceClient.shouldOverrideURLLoading
XWalkUIClient.onUnhandledKeyEvent
XWalkUIClient.shouldOverrideKeyEvent
XWalkUIClient.onReceivedTitle
XWalkUIClient.onPageLoadStarted
XWalkUIClient.onPageLoadStopped

Some of those APIs were implemented inside xwalk core
internal previously. Now moving them to public Client
classes of XWalkView to expose in Embedding API.

Beside, remove the internal callbacks which are decided
not to expose in Embedding API and currently are dead code
or have empty implementation in core internal, including:
XWalkWebChromeClient.onReceivedTouchIconUrl
XWalkWebChromeClient.getDefaultVideoPoster
XWalkWebChromeClient.getVideoLoadingProgressView

TODO(wang16): Implement LoadStatus for XWalkUIClient.onPageLoadStopped.

Related BUGs: XWALK-2031
BUG=XWALK-2003, XWALK-2004