[Android] Support permissions for Java external extensions

Following changes are made:
1. merged external extensions permissions to Android manifest file
2. added a unit test about this feature
3. fixed empty extension_name issue caused by redundant separators

BUG=https://crosswalk-project.org/jira/browse/XWALK-160
[Android] Add the test case about getVersion.

This patch contains the test about getVersion in shared and
embedded mode. It's for the runtime client.
Get the version, confirm it's validity by regular expression.
[Tizen][Runtime Model] Using the xwalk logo image when icons are not given in manifest.json

The application button with default xwalk logo image will be placed on
home screen in Tizen if the icons field is not given in manifest.json.

BUG=https://crosswalk-project.org/jira/browse/XWALK-124
Remove dependency between XWalkManifestReader and XWalkView.

XWalkManifestReader is in org.xwalk.runtime package, it's on higher
layer than XWalk core, and XWalkManifestReader should not be awared
by XWalk core. So remove the XWalkManifestReader reference from the
XWalkView class.

BUG=https://crosswalk-project.org/jira/browse/XWALK-149
[Runtime] Fix RuntimeContext ownership and unify its creation

On Android RuntimeContext used to be a singleton which is wrong as content::ContentBrowserClient lifetime should be equal to the duration of the browser session, meaning its creation&deletion should be controlled by BrowserMainLoop.

This patch unifies the creation of RuntimeContext between android and others removing ugly '#ifdefs' and unneeded difference in the code path.
[Android] Fix the failed test case about testPauseAndResume.

Due to the rebase to v32, the function "onActivityPause" and
"onActivityResume" was deleted from ContentViewCore.java.

The fix is to implement the onPause and onResume by another
function interfaces.

BUG=https://crosswalk-project.org/jira/browse/XWALK-351
[Tizen] add the 'gst-plugins-atomisp-devel' buildrequires to spec

chromium needs the header and lib files exported from this package to drive the
camera device on Tizen 2.1 hardware platforms.

BUG=XWALK-176
[Android] Correct activity name in core shell debug script

It's not synced with the activity name in
runtime/android/core_shell/AndroidManifest.xml
[WiDi API] Destroy XWalkView instance when presentation content is closed
The XWalkView instance should be destroyed once the presentation content is closed.
Otherwise, the resources allocated would be leaked. For example, zombie pages would
be listed in chrome web inspector (chrome://inspect) after the presentation content gets
closed by calling window.close API.

BUG=https://crosswalk-project.org/jira/browse/XWALK-336
[Android] Fix ActionUri test failure after rebase to M32

It's caused by the changing of RequestBeginning api in
content::ResourceDispatcherHostDelegate.

Fix by adjusting the api in xwalk's delegate accordingly.
Merge pull request #1140 from takethathe/icon

[Tizen][Runtime Model] Using the xwalk logo image when icons are not given in manifest.json
[Runtime Model] Add permissions handler for manifest.json

Permissions handler can parse the permissions field in manifest.json,
and save the permissions information into Application object as
ManifestData struct.
Merge pull request #1089 from takethathe/permissions_handler

[Runtime Model] Add permissions handler for manifest.json
[Android] packaging tool fails to run on Windows host.

It's because the ant on Windows would crunch the following flags
when the current flag is set with null, which would cause the
packaging stage failed. This is only a issue on Windows host.
Fix it with setting the flag with white space.
Merge pull request #1138 from jchen10/camera

[Tizen] add the 'gst-plugins-atomisp-devel' buildrequires to spec
[Runtime] Add runtime model event core classes

There are two event types for runtime model which are different from ordinary
DOM events(see http://www.w3.org/2012/sysapps/app-lifecycle): application
events which are events send to application indicate what’s happening to the
application, like launch, terminate, suspend and etc; system events which are
events sent by the system, a system event can wake up a terminated application.
This patch introduces some core classes to register and handling such events.

Implementation details:
EventObserver is a base class for observing runtime model events.

ApplicationEventRouter is a per application class dispatching events sending to
the application. It will be created when an application is loaded. It also
provides system events support.

ApplicationEventManager is the service class managing all application event
routers.
[Runtime] Add application event router unittest
Merge pull request #1057 from seanlong/event_router

[Runtime] Add runtime model event core classes
Merge pull request #1128 from pozdnyakov/Fix_RuntimeContext_ownership

[Runtime] Fix RuntimeContext ownership and unify its creation
Refactor XWalkBrowserMainParts: remove '#ifdef' hell

XWalkBrowserMainParts class had become an #ifdef hell, and had got even worse with all these HasSwitch(kInstall) and so on – that needed fixing, otherwise the code could become hard to maintain and the likelihood of bugs appearance could increase.

This patch introduces a separate "browser main parts" class for Mac, Tizen and Android derived from base generic XWalkBrowserMainParts class, thus removing platform specific functionality (and ifdefs) from XWalkBrowserMainParts.