[Android] Refactor Java extension system

The commit is to decouple the extension from XWalkRuntimeViewProvider
and simplify the interfaces exposed by XWalkRuntimeViewProvider. Now it
is easy to use the extension system by creating a new
XWalkExtensionManager.

The backend implementation for XWalkExtension is abstracted as
XWalkExtensionBridge interface. Currently, one backend implementation
based on xwalk core is provided as default.

BUG=https://crosswalk-project.org/jira/browse/XWALK-148
[XESh] Print both Crosswalk and v8 version

This patch adds a PrintInitialInfo() function that
prints Crosswalk and v8 versions, in addition to the
XESh "banner".

After that there is no need to keep the JS version();
callback implemented, so it was removed from V8Runner.
[Extensions] Fix race condition in EPH, fix flaky CloseNativeWindow

The message filter used by EPH in certain conditions could try to post a
task to UI thread calling EPH. If EPH is destroyed and the message is
still enqueued, we crash.

The MessageFilter was posting a task instead of directly calling in IO
thread because EPH was trying to remove the filter, since we need to
track that message only once. Removing the filter should be called from
the UI thread (which is the "client" thread for IPC::SyncChannel).

This patch makes the code correct, removing the flaky crashes in
CloseNativeWindow browsertest. Next patches will address the TODO item
added by this patch: whether we can use only one MessageFilter.

I split the code this way so we choose whether we apply just this fix to
the current Beta branch or the remaining changes.

BUG=https://crosswalk-project.org/jira/browse/XWALK-153
[UI][Tizen] Create NativeAppWindowTizen

Instead of adding custom behavior into NativeAppWindowViews behind
ifdefs, we create a proper subclass for Tizen. This allow us to
implement observers directly in our window, for example the sensor
observer.

This is a preparation for allowing the window to tell the indicator
which orientation it should paint. In the previous design (using
TizenSensorObserver) we would end up adding more couple (or more layer
of indirection) to accomplish this.

There are some "ifdef" leftovers in NativeAppWindowViews, but can be
moved in later patches.
Merge pull request #1100 from jeez/xesh

[XESh] Print both Crosswalk and v8 version
[Extensions] Reduce boilerplate for external extension tests

Two changes collaborate here to reduce the boilerplate:

- Make a specialized static function to store the external extension
  path for tests, so no reference to a concrete XWalkExtensionService
  is needed.

- Now that we do not need the reference use SetUp() function instead of
  the callback for registering extensions in tests. This change make the
  service passed in that callback unused, we'll remove in the next patch
  to keep this easier to review.

A helper function was added to get the path where an external extension
built for test is.
[Extensions] Remove service parameter from register test callback

XWalkExtensionService allows us to register a function to be called
every time a new XWalkExtensionServer is created, so tests can register
specific extensions. This function may be called multiple times because
we create a (in process) server per Render Process created.

The callback also received a service parameter, to be used for setting
the path for external extensions to be loaded. But the previous commit
changed how tests handle this, so the parameter can be removed.
[Extensions] Add RegisterExtensionForTest() function

This is a small convenience function that reduces the boilerplate when
registering extensions in tests.
[Extensions] Check if reply is valid after a SendSyncMessageToNative

When we try to send a sync message to an extension instance that
became invalid (i.e.: the extension process died) then we might
end up with a NULL reply. We should then check before converting
to a V8Value, thus avoiding the RenderProcess to crash.

That is the same behavior PostMessageCallback has nowadays.
Merge pull request #1101 from cmarcelo/reduce-extension-tests-boilerplate

[Extensions] Reduce extension tests boilerplate
Merge pull request #1102 from cmarcelo/native-app-window-tizen

[UI][Tizen] Create NativeAppWindowTizen
Revert "[UI][Tizen] Create NativeAppWindowTizen"

This reverts commit bd10f497110662662e39e738f91e246d058b5356. It was
still a draft, testing pending.
Merge pull request #1105 from cmarcelo/revert-draft-merge

Revert "[UI][Tizen] Create NativeAppWindowTizen"
Merge pull request #1104 from jeez/extension-module-fix

[Extensions] Check if reply is valid after a SendSyncMessageToNative
Bump version to 3.31.34.0
[Android] Add content scheme support

The content scheme is for the Uris used by android content
provider. They are commonly used on android to retrieve
resources.

For detail information of android content provider, please referring
http://developer.android.com/guide/topics/providers/content-providers.html.

BUG=https://crosswalk-project.org/jira/browse/XWALK-165
TEST=org.xwalk.core.xwview.test.LoadUrlTest#testContentUrl
[Android] Add extension JS files to runtime client embedded shell

Fixes bug that runtime client embedded shell can not find Javascript
stubs of runtime internal extensions.

BUG=https://crosswalk-project.org/jira/browse/XWALK-126
[Mac] Fix the build

[chromium-style] Overriding method must have "virtual" keyword.
V8 profiling patch
Fixed the patch_util script