Use CancellationFlag instead of Lock in PostHelper

XWalkExtensionThreadedRunner have a helper object that runs jobs in
another thread. When threaded runner goes down, we want to
invalidate (cancel) that helper object.

This commit change from using a Lock and changing the runner_ value
inside the helper to simply use CancellationFlag (which boils down to an
atomic operated value).
[Devtools] Show right message when App is inspected already.
To correct a HTML/CSS coding error in Devtools discovery page
[Extensions] Add dummy ExtensionProcessHost to ExtensionService
[Extensions] Add ExtensionProcess spawned by ExtensionProcessHost.
[Extensions] Call RegisterExtensions from ExtensionProcess
[Extensions] Add a XWalkExtensionServer to XWalkExtensionProcess

A dummy IPC::Sender was added for testing purposes while we don't
handle the creation of our IPC Channel.
[Extensions] Use RegisterExternalExtensionsInDirectory in XWalkExtensionProcess
[Extensions] Fixing Windows build for launching ExtensionProcess
[Extensions] Fixes after review for ExtensionProcess and ExtensionProcessHost

Mainly here I have:
- added comments;
- removed unneeded loops from ExtensionProcess;
- guarded the creation of ExtensionProcessHost by the --enable-extension-process switch;
- changed to VLOG(1).
[Extensions] Turn off sandboxing for ExtensionProcess in Windows

We don't want that for a process that is supposed to have access
to the entire platform...
[Android] Create the file of parsing json-format manifest file.

This file is created to parse json-format manifest configuration files and will
be integrated with packaging tools to generate platform specific manifest files.
1 Parse the json-format manifest file and decomposed into fields.
2 Raise the related exceptions when there are parsing errors or key errors in
the json-format manifest file.
3 Provide the field interfaces required by packaging tool (e.g. make_apk.py).
4 Show the parsed fields and the corresponding values for debugging.
Merge pull request #634 from jeez/eph

Add ExtensionProcess and ExtensionProcessHost
[Extensions] Create the EP<->RP IPC Channel

We create a MODE_SERVER Channel on the ExtensionProcess
and use the BrowserProcess (through ExtensionProcessHost)
to let the RenderProcess know about this ChannelHandle.
[Extension] Create a Client Channel for EP on RenderProcess

For now this MODE_CLIENT channel will use a dummy listener to
receive its messages. It will later be substituted by a
XWalkExtensionClient.
[Extensions] Use the ExtensionsServer from ExtensionProcess to communicate with RP

Now we are using the EP <-> RP IPC Channel to make the ExtensionServer,
from the ExtensionProcess, communicate with its DummyListener running on the
renderer process. We also make it only send the RegisterExtension message
after the RenderProcess has connected to its channel.
[Extensions] Fixing ExtensionProcess channel creation after review

- Adding a function to XWalkExtensionProcessHost that sends the
EP channel handle when ready and it's used by OnRenderProcessHostCreated
and OnRenderChannelCreated;

- Splitting XWalkExtensionProcess::CreateChannel() into 2 more specific
functions: CreateBrowserProcessChannel() and CreateRenderProcessChannel();

- Fixing style issues.
Refactor startup flags and enable viewport and touch feedback

The refactor makes the code similar to how it is done for Chrome for
Android and enables viewport (incl required fixed layout) and feedback
on touch.

It has been tested on desktop and works fine with the following:

xwalk "data:text/html,<meta name='viewport' content='width=320'>" \
  "<body><div style='width:300px; background-color:red;'> .</div></body>"
Merge pull request #586 from ShDavidliu/master

[Android] Parse json-format manifest file and provide the output fields
[Android] Integrate extension system with XWalkExtensionAndroid.

 * Enable XWalkCoreExtensionBridge as a bridge.
 * Implement unregisiter method for android xwalk extension.
 * Remove API version from XWalkExtension class.
 * Remove the code stub of sample extension.