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] Add message passing support

XWalkExtensionAndroid.java is the interface to allow implement message
passing based extension written by java.

When new a instance that inherit from XWalkExtensionAndroid.java, it will
create C++ instance of XWalkExtensionAndroid. Then the C++ extension framework
will create XWalkExtensionAndroidInstance on-demond. Thus they will bridge
the messages passed between JavaScript and Java.

XWalkExtensionAndroid is self-registed to existing XWalkExtensionService.
[Android] Add ExtensionEchoTest for message passing unit test
[Android] Support multiple extension instances

WebFrame java interface is not exposed, thus there is no way to
identify which XWalkExtensionAndroidInstance need to be post message.
Leave a FIXME for that.
Enable uninstall applications from runtime

Add a switch "--uninstall" to enable the application uninstalling
functionality, it can remove application information and resources from
platform by its ID.
[Android] Cancel library-not-found dialog when library installed

For xwalk apps on Android, they will try to find runtime lib at
startup time. If runtime lib not found, an alert dialog will be
prompted for navigating user to download it from play store.

When the app is brought back to the front, it will check
runtime lib's existense. If runtime lib found, the alert dialog
should be automatically canceled.

BUG=https://github.com/crosswalk-project/crosswalk/issues/638
[Android] Replace invalid chars in options.

Replace the invalid chars (\/:*?"<>|- ) with (_) in options,
which may be valid in host system, but invalid in the packaging tools.

BUG=https://github.com/crosswalk-project/crosswalk/issues/630
Merge pull request #649 from junmin-zhu/invalidchars

[Android] Replace invalid chars in options.
[Android] Remove hidden assets('.*', '_*') from ANDROID_AAPT_IGNORE pattern.

This patch will remove the ".*" and "_*" from the default exclude list,
and thus "hidden" assets will now be included in your assets
directory inside your .APK.

BUG=https://github.com/crosswalk-project/crosswalk/issues/631
Merge pull request #647 from junmin-zhu/dir

[Android] Remove hidden assets('.*', '_*') from ANDROID_AAPT_IGNORE.