[SysApps][Tizen] Fixed the incorrect event type and rename the event type

1. remove 'on' before the event type
     such as: onattach -> attach
2. rename event type to keep consistent with spec
     such as: rename 'attach' -> 'storageattach'

spec: http://device-capabilities.sysapps.org/
[UI][Tizen] Adopt a simple layout scheme for TizenSystemIndicator landscape

Now TizenSystemIndicator in landscape mode will adopt a simple layout
scheme, the same as the portrait mode.

This is a palliative solution, while we don't implement the overlaying
layout and the event support in landscape mode.
[Application] Move ApplicationSystem creation to a factory function

This will be used to provide different subclasses for the different
platforms. The factory function isolates the caller code from this
detail.
[Tizen] Move sensor related files to xwalk/tizen

And directly link with tizen sensor library.
[Application] Create ApplicationSystemLinux

This commit gets rid of the general interface ApplicationSystemProvider
that wasn't bringing anything to the table besides memory management.
Other platforms that will use run-as-service mode should add their own
needed objects in the platform specific versions of ApplicationSystem.

The ApplicationSystemLinux now creates the service provider if
needed. The function is_running_as_service() was made virtual (and
renamed to reflect that is not a simple accessor anymore).
Bump version to 3.32.51.0
[Android] Exclude the gdbserver from release mode of packaging tool.

The gdbserver is used for debugging XWalk, which should not be included
in the release binary of packaging tool. Because it would introduce additional size
of the binary.

So exclude gdbserver binary from release version and leave it for debug version
the same as that for xwalk_core_library.
[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.
[SysApps] Add a wrapper to make Promise work with Internal Extensions callbacks

Promises are a really nice fit with the Internal Extensions callbacks, because
they are single shot (you fire it once and forget about it).

We just need to create a wrapper around it with a "protocol" so we can
properly call fulfill() or reject() depending on the message we get from
the native backend.

The Internal Extension callback system will handle keep tracking of the mapping
between callback handlers in the native side and pending Promises in the
JavaScript shim automatically.
[SysApps] Tests for the Promise wrapper in the Binding Object

Test if the wrapper works for Promises that are rejected and fulfilled.
Make orientation work again

Direct changes 90 degree but also flips of 180 degrees works. Both
should be tested by QA.
Implements runtime flags for Xwalk.

A new class is added to handle the runtime flags where each feature is
declared as "stable" or "experimental".

This class contains the getters XWalkRuntimeFeatures::isMyFeatureEnabled()
used to know if a feature is on or off from the C++ code.

Note that this class also handles whether a feature has been overriden
by the command line (--enable/--disable-myfeature) by querying the
CommandLine object.
Add a generic --enable-xwalk-experimental-features to turn on
all the experimental features.

This will allow our brave users to test the greatest and the latest.
Ideally we need to find a mechanism to trigger this on our Canary
builds (just like Chromium) so the testing can happen early in the
release process.
[Tizen] Fix screen rotates regardless "auto rotate" setting

The screen orientation should be forced to portrait-primary when "auto
rotate" is disabled in settings.

BUG=https://crosswalk-project.org/jira/browse/XWALK-625
Mark the JS Dialog API experimental.

We're not very sure if this API should be that way.
If people have interesst using it they can pass the
flag to switch it on.
Bump version to 3.32.52.0
[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] Add arch option for packaging tool in embedded mode.

Accept the arch option from developer for embedded mode. if the arch
option is unspecified, all available platform apks will be generated.

Usage: python make_apk.py --arch=x86 ...

BUG=https://crosswalk-project.org/jira/browse/XWALK-598
[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
[Android] Add the check of application launch path in packaging tool.

   Since there is no prompt when there is no application launch path
in the manifest.json file, to improve the user experience of crosswalk,
in the packaging tool, add the check of application launch path in packaging
tool. The related test case is added.

BUG=https://crosswalk-project.org/jira/browse/XWALK-645