[XESh] Move all v8 related code to V8Runner.

This commit moves every v8 related code to V8Runner.
XWalkExtensionClient was also moved to XEShV8Runner because it
relates to a v8::Context (through XWalkModuleSystem). That cleans
up xesh_main.cc (hence, ExtensionManager), leaving
there only native-related pieces of the Extensions Framework.
[XESh] Move V8Runner to its own thread.

This patch fixes XESh so it can handle sync messages.
After some investigation we realized this bug was being
caused due to both native extensions code and their
JavaScript context being kept in the same thread.

BUG=https://crosswalk-project.org/jira/browse/XWALK-304
TEST=./xwalk/extensions/xesh/xesh_test.sh ./out/Release/
[Android] Add adb_gdb_xwalk_runtime_client_embedded_shell for extension debugging

Xwalk extension is not attched to xwalk_core_shell, we needed to run xwalk_runtime_client_embedded_shell
to debug extension.
[Runtime] Add XWalkComponent

This interface will be used by XWalkRunner to manage the subsystems and
call them in convenient times. Looking at current code of Crosswalk, the
following points are relevant for most subsystems:

- Before the main loop starts, for setting up any objects and shared
  data.

- When a new RPH (most of the time Application) is started, to register
  extensions.

- After the main loop ends, and we are about to be destroyed, to
  shutdown the subsystem.

In some cases only one of those matter, for example, experimental/dialog
only cares about registering extension. The idea is that any other
important hook should be added to XWalkComponent. That way, XWalkRunner
will mostly care about calling all the components in the sequence,
instead of knowing details about each subsystem.

Keeping an ordered sequence (like the ScopedVector) also makes it easy
to destroy the components in the reverse order of creation. The name
component was choosen based on the concept of "browser components" from
Chromium browser.

In the long run we should follow their example and, when possible, add
self-contained separated features into directories structured like
src/xwalk/components/feature/{renderer,browser,common}. That will make
runtime/ more focused on the basic runtime.
[Runtime] Create a component for Application subsystem

Even though it is a "special" component (because Application concept is
central to Crosswalk), we can benefit from the XWalkComponent interface
for hiding the details of the subsystem.

In this and next patches we'll see sometimes a little bit of
"redundancy" between the old entry point and the new XWalkComponent
subclass for each subsystem. This is being done like this to reduce the
amount of change to make component system work.

In the long run, some modules may simply adopt the component class as
their entry point. For other modules, that don't depend on runtime/,
there'll still be a separate XWalkComponent subclass in runtime/ to glue
things up.
[Runtime] Create a component for SysApps

This class is the glue between the XWalkRunner and the
SysAppsManager. The sysapps/ directoy doesn't depend on runtime/, so the
glue code is used instead of making SysAppsManager implement
XWalkComponent.

By overriding the factory method the Android and Tizen can configure
which extensions they need to disable, instead of manually creating the
RawSockets extension.

In the case of Tizen, we create a component just for the currently used
implementation of DeviceCapabilities -- a newer one is being implemented
and will replace it when achieve feature parity.
Fix leak of DictionaryValue in ApplicationStorageImpl::GetInstalledApplications()

Use scoped_ptr for DictionaryValue returned by Deserialize() to
prevent a memory leak.
Merge pull request #1413 from jeez/xesh-sync-fix

[XESh] Move all v8 related code to its own thread.
[Extensions] Fix xesh prompt

The InputWatcher is being told that it can read from input before we had
a chance to print the output from previous. Because we printed the
prompt at that moment, we ended up printing the next prompt before the
results.

With this change, we print the prompt only after the previous command
output is printed.
Merge pull request #1467 from cmarcelo/xesh-prompt

[Extensions] Fix xesh prompt
Merge pull request #1450 from cmarcelo/xwalk-component

[Runtime] Add XWalkComponent interface
DEPS.xwalk: chromium-crosswalk roll f344a2f..a824a16

Include NET_WM_PID patch. Relevant pull request is
https://github.com/crosswalk-project/chromium-crosswalk/pull/105.

$ git log --oneline f344a2f..a824a16
a824a16 Merge pull request #105 from cmarcelo/net-wm-pid
984c4de [Views] Customize _NET_WM_PID for X11 window backing a Widget
Merge pull request #1468 from cmarcelo/update-deps-xwalk-net-wm-pid

Update DEPS.xwalk to include NET_WM_PID patch
Bump version to 4.32.70.0
Merge pull request #1464 from yinli/adb_gdb_embedded_client

[Android] Add adb_gdb_xwalk_runtime_client_embedded_shell for extension ...
Roll chromium-crosswalk to 5a02711.

[Tizen][GPU][Perf] Prevent GPU scheduler from thrashiing.
Merge pull request #1472 from ds-hwang/gpubug

Roll chromium-crosswalk to 5a02711.
Merge pull request #1466 from nagineni/memory_leak

Fix leak of DictionaryValue in ApplicationStorageImpl::GetInstalledApplications()
Add Thiago Santos to extensions/OWNERS
ApplicationProtocolHandler supports multi apps

This is a step in enabling of Shared process model.
ApplicationProtocolHandler is given with ApplicationService instance and the corresponding application instance
is fetched from the service via newly added "GetApplicationByID" method.