[Runtime Model] Refactor the Application Storage system.

Rename ApplicationStore to ApplicationStorage, DBStoreSqliteImpl to
ApplicationStorageImpl.

Add the system events setter/getter method in ApplicationData, so that
all application related information can be cached in it.
[Android] Check webview legacy api for external protocol handling first

Crosswalk provides two ways for embedders to extend protocol handling.
1. The same api as legacy webview api in XWalkContentsClient,
   shouldOverrideUrlLoading().
2. Extends XWalkNavigationHandler.

By default, xwalk doesn't do anything in shouldOverrideUrlLoading, but
handles action uri in XWalkNavigationHandler.
To avoid the case that some embedder override shouldOverrideUrlLoading
in the way conflicts with what xwalk already did in XWalkNavigationHandler,
calling shouldOverrideUrlLoading prior to invoke XWalkNavigationHandler
so that embedders won't get confused.

BUG=https://crosswalk-project.org/jira/browse/XWALK-654
[Android] Correct the error message for embedded sample app

Change to more general term:
"Crosswalk failed to initialize."
The detail information about the failure will be shown in
the pop up dialog.

BUG=https://crosswalk-project.org/jira/browse/XWALK-649
Query the number of presentation displays when extension is created.

In some case, e.g. in cordova container, onResume method won't get
called at startup, it is called only when resuming from background
status.

This fix can make sure that presentation.displayavailable flag won't
depend on the fact if PresentationExtension::onResume gets executed.
Bump chromium-crosswalk in DEPS.xwalk
[Extensions] Invalidate exposed functions when the extension module is destroyed

The crash identified back when doing our Chromium update could not be
reproduced. This commit also adds a test. Without the change, RP would
crash in the test. With the change, RP doesn't crash anymore.

TEST=XWalkExtensionsIFrameTest.KeepingReferenceToFunctionFromDestroyedIFrame
BUG=https://crosswalk-project.org/jira/browse/XWALK-184
Merge pull request #1326 from alexshalamov/bump_deps_xwalk

Bump chromium-crosswalk in DEPS.xwalk
Merge pull request #1329 from cmarcelo/fix-xwalk-184

[Extensions] Invalidate exposed functions when the extension module is destroyed
Bump version to 3.32.54.0
[Extensions] Move kXWalkExternalExtensionsPath to extension switches

So that both xwalk_runtime and xesh (the test shell for extensions) can
use it. This prepares to make xesh build do not depend on the rest of
the runtime.

I was avoiding moving this constant here because it was not necessary
for extension system. But given the multiple users, I consider extension
itself a fair place to store this constant.
[Extensions] Make xesh depend only on what it uses

Currently xesh (XWalk extension test shell) depends on the entire
xwalk_runtime target. This is not needed, since the shell was designed
to use only Extension system.

One drawback of the current approach is that unrelated changes end up
forcing a recompilation of xesh, this have some impact when running
ninja without target parameters.

Instead of depending on the xwalk_runtime target, this patch makes xesh
depend directly on the base libraries and include the sources from
extensions.gypi.

This could be further improved by making extension system itself into a
static library, used both by xwalk_runtime and xesh. This would avoid
compiling the extension system files for each target.
[Extensions] Compile extensions as a static library

Since extensions shouldn't depend on other parts of Crosswalk, we can
compile it as a static library. One advantage is that now both
xwalk_runtime and xesh depend on that library, avoiding multiple
compilation of some source files.
Merge pull request #1335 from cmarcelo/extensions-as-static-library

[Extensions] Compile extensions as a static library
Bump version to 3.32.55.0
Merge pull request #1308 from wang16/reorg_navigation

[Android] Check webview legacy api for external protocol handling first
[Android] Disable 2 extensions for application and application event.

Currently these 2 extensions are not supported on Android port.
Disable them since they're not supposed to work because it makes crashes.
Will enable them once Android port starts to fix them.

BUG=https://crosswalk-project.org/jira/browse/XWALK-674
Merge pull request #1306 from wang16/runtime_warn

[Android] Correct the error message for embedded sample app
Merge pull request #1337 from yongsheng/fix674

[Android] Disable 2 extensions for application and application event.
Merge pull request #1310 from hmin/hot-fix-presentation-api

Query the number of presentation displays when extension is created.
Merge pull request #1239 from takethathe/db_refactor

[Runtime Model] Refactor the Application Storage system.