[Packaging] Prefer pkgconfig(package) in BuildRequires when possible.

The recommended way to depend on packages is to use BuildRequires:
pkgconfig(foo) instead of explicitly using BuildRequires: libfoo-devel.

Use that where possible, and remove a duplicate entry for
pkgmgr-info-parser-devel, which already has a pkgconfig() entry.
[Runtime] Move XWalkExtensionService to XWalkRunner

It was previously created in XWalkBrowserMainParts, moving it to
XWalkRunner, which now will contain the main subsystems and tie them
together.
[Runtime] Add OnRenderProcess{Created,Gone} to XWalkRunner

RenderProcessHost lifecycle is important for XWalkRunner because some of
the subsystems in Crosswalk are implemented in terms of Crosswalk
extensions or have Crosswalk extensions as part of the interface.

Every time a new Render Process (Host) is created (which in Crosswalk
should be equivalent to a new application running), we have a proper
hook to create the extensions for that application in XWalkRunner.
[Android] Enable tracing on XWalkCoreShell

Add an Intent receiver to XWalkCoreShell for tracing event recording.

How to use it:
1. Launch XWalkCoreShell on Android device
2. Start and stop tracing recoding by running the commands on host machine:
   # adb shell am broadcast -a org.xwalk.core.xwview.shell.GPU_PROFILER_START -e file /sdcard/Download/trace.txt
   # adb shell am broadcast -a org.xwalk.core.xwview.shell.GPU_PROFILER_STOP
3. Run 'adb pull /sdcard/Download/trace.txt' to download the trace.txt to host machine
4. Open about:tracing in Chrome browser on host machine and load the trace.txt

BUG=https://crosswalk-project.org/jira/browse/XWALK-795
[Android] Enable multiple threads for rasterization

On Android, since impl side painting is enabled as default, the
rasterization is scheduled to a seperate threads. However, the default
number of threads for rasterization is 1.

This commit is to calculate the appropriate number of raster threads
according to the number of CPU cores. It could take advantage of the
multi-core hardware capability and bring performance boost in
rasterizing, according to the result of some experiments.
Merge pull request #1434 from hmin/raster-thread-num

[Android] Enable multiple threads for rasterization
Merge pull request #1430 from cmarcelo/move-extension-service

[Runtime] Move ExtensionService to XWalkRunner
Merge pull request #1428 from rakuco/build-requires-format-tizen

[Packaging] Prefer pkgconfig(package) in BuildRequires when possible.
Add Application Service observer API to track an application's lifecycle.

Added 'void OnApplicationLaunched(Application* app)' and 'void OnApplicationTerminated(Application* app)'
to ApplicationService::Observer class.
[Runtime] Add platform specific subclasses of XWalkRunner

This is a preparation for moving the extension creation to
XWalkRunner (and its subclasses). Eventually I expect to be able to nuke
the XWalkBrowserMainParts variants, so all "platform specific"
behavior (at least with regards to initialization) will be in
XWalkRunner subclasses.

An interesting point: for the same reasons XWalkRunner::GetInstance()
exists, the Android and Tizen variants also exist. I've added a note
reinforcing that they should be used with care, but it's best to have a
clear way to reach the top objects (and expose things when a platform
needs) instead of making ad-hoc solutions.
[application] Use Application for external URLs.

Use Application for external URLs. Rationals:
1) allows web pages to use some of XWalk APIs
2) makes in-browser testing simpler: no need in APIs like "Runtime::SetGlobalObserverForTesting"
3) External URLs and applications share the same code path, which is better for both testing and maintainance

The  "app.launch.web_url" manifest key is used as application entry point for external URLs loading.

WIP: in-browser tests should be updated accordingly.
Merge pull request #1421 from pozdnyakov/Application_for_external_URL

[application] Use Application for external URLs.
[Tizen] Add overlay mode to TopViewLayout

In overlay mode the top_view_ will be over the content_view_.

Now the unit tests must respect the top_view_ preferred width.
[Tizen] Add WatcherClient interface and use it on the indicator
[Tizen] Add WidgetContainerView and TizenSystemIndicatorWidget

The system indicator is implemented as a widget because it needs to
receive events and may also be an overlay on top of the rest of the
content, regular views do not support this. We add it to the container,
that is a view that doesn't draw anything, just passes the bounds
information to the topview layout.
Merge pull request #1436 from pozdnyakov/Add_Application_track_API

Add Application Service observer API to track an application's lifecycle.
[Runtime] Save registered events information in ApplicationData if
the Application is launched by unpacked path.

Crosswalk supports launching unpacked application without install
the application first, and this is the same with current browsertests.

To make these types of applications able to handle registered events,
a solution is to save the events information in ApplicationData when
executing the main document. Events for these applications will not be
saved in ApplicationStorage.
[Runtime] Make sure event observers are released before event manager.

ApplicationEventManager must be destroyed later than the EventObserver.
Otherwise, the event_manager_ will be a wild pointer in EventObserver
destructor.
[Runtime] Add browsertest for onSuspend Event API.
Merge pull request #1397 from shaochangbin/onSuspend-test

 [Runtime] Add browsertest for onSuspend Event API.