[Android] Add back key support

1 The patch is to add the back key support for the runtime. The
expected behavior when putting on the back button is to go back
to the previous page, but now it results to exit the app.
2 Override onKeyUp() of XWalkRuntimeView to handle this.
[Runtime] Fix application event router observer detach iteration bug
[Tizen][SysApps] Add AVCodecs support in device capabilities

The main idea is as below:
1. Get supported codec and mime format list from libffmpegsumo.so
2. Use APIs in net/base/mime_util.h to verify whether a format/codec supported.
   If true, the codec will be added in the supported media codecs list.

The step 2 logic refers to implementation of
WebKit::WebMimeRegistry::supportsMediaMIMEType()

spec: http://device-capabilities.sysapps.org/
feature: https://crosswalk-project.org/jira/browse/XWALK-47
[Extensions] Remove --disable-loading-extensions-on-demand switch

The feature was added for Crosswalk 2. We kept the switch to easily
remove it in Crosswalk 2 in case of regressions, with the plan to remove
it from the next release.

Since the feature has been stable and no regressions related to it were
found in the Crosswalk 2 beta branch so far, we are removing the
switch now.
[Application][Linux] Expose interface for launch apps via D-Bus

The exported object '/running/' supports only one method in its
interface, that is used to Launch applications. The ObjectManager based
interface will come in future patches, once the notion of "running
application" is added to Crosswalk (Mikhail / Alex work).

At the moment, Crosswalk quits after the application window is closed,
even running as a service. This behavior will change in future
patches.
[Android][SysApps] Not sharing same device_capabilities_api.js

Tizen DeviceCapabilities should use C++ native helpers as much as
possible. Since there is not corresponding for Java, those changes will
break the Android impl.

For now, duplicate the JavaScript shim for Tizen and Android. It might be
shared again if Java helpers are implemented same as C++ in future.
[Android] Fix launch ActionUri will crash at runtime level

It's because for runtime usage, the NavigationHandler is using
the MixContext, Which needs FLAG_ACTIVITY_NEW_TASK to start
other Activity.

BUG=https://crosswalk-project.org/jira/browse/XWALK-551
Merge pull request #1217 from wang16/runtime_action_uri

[Android] Fix launch ActionUri will crash at runtime level
Merge pull request #1216 from halton/master

[Android][SysApps] Not sharing same device_capabilities_api.js
[Runtime] Add calls to ApplicationEventManager

ApplicationProcessManager will calls OnMainDocumentCreated when main document is
created. ApplicationService will calls OnAppLoaded when Application object is
instantiated.
[Runtime] Add application event extension support

Currently application event extension API follows Chrome.events definition
(https://developer.chrome.com/apps/events.html).

Implementation details:
The event extension is implemented as an internal extension running on UI
thread. Its instance implements application::EventObserver interface to observe
registered events.

When a listener of an event is added for the first time, the extension instance
will save the wrapped dispatchEvent callback. Then when such event is notified,
the extension instance will call the wrapped callback to run all added
listeners. When all listeners are removed from an event, the extension instance
will detach itself from the event through event manager, the corresponding saved
callback will also be removed.

To provide a method to get the event dispatching status a new event
("onJavaScriptEventAck") is introduced. Other observers can attach to it and get
notification when "xxx" event has finished its dispatching in JS as "xxx" in the
arguments.
[Runtime] Add application event API browser test
[Android] Enable test case for presentation API in embedded mode
Extension in embedded mode is now avaialble, reopen the test case for
presentation API
Merge pull request #1114 from xingnan/backkey

[Android] Add back key support
Merge pull request #1223 from kurli/presentation_embeded_test

[Android] Enable test case for presentation API in embedded mode
Merge pull request #963 from seanlong/event_dev

[Runtime] Add application event API support
[SysApps] Move RawSockets to the experimental namespace

It was agreed in some technical meeting that SysApps should be in the
experimental namespace for now.
Merge pull request #1224 from tmpsantos/raw_sockets_experimental

[SysApps] Move RawSockets to the experimental namespace
Merge pull request #1209 from cmarcelo/remove-disable-loading-extensions-on-demand-switch

[Extensions] Remove --disable-loading-extensions-on-demand switch
[Extensions] Reenable test now that load on demand works