Create a ModuleSystem even for blank pages

We assumed that a v8::Context associated with a frame that were pointing
to "about:blank" was never reused when visiting other URL. This
assumption is incorrect, there are situations (like the cases triggered
by the bugs linked) that the v8::Context is reused to the page loaded.

Since the frame URL can change from "about:blank" to something else
between the calls DidCreateScriptContext() and
WillReleaseScriptContext(), we can't rely on that information. The crash
was caused by assuming that if the URL wasn't blank at
WillReleaseScriptContext() time, we had a module.

The intent of not creating module system for blank pages was to avoid
unnecessary work. This will be accomplished in the future by other means
like avoiding to load the JavaScript code that's not used.

Fixes #626 and #602.
Change ContextDestruction test to be less picky about titles

For the test move forward, we depended on the exact sequence of
instances being created. We can cover the same behavior (which is
instances will be created and not reused), without having to indicate
this in the title.

This allows us to be be lax about the exact number of instances created
now, until we add support for loading instances on demand ("lazy loading
of instances").
Automated test for issue 602

This adds a reduction of the problem identified in
https://github.com/crosswalk-project/crosswalk/issues/602 to our
browsertests. In summary: we should not crash when an empty iframe have
document.write() called for it. See comments in the added test for
details.
Replace old icon with new one for Linux/Windows
Merge pull request #636 from hmin/icons

Replace old icon with new one for Linux/Windows
[Android] Remove some of the duplicated code for handling Asset URLs.

The code paths in RuntimeURLRequestContextGetter::GetURLRequestConext() can
be greatly simplified if we stop using a separate job factory and a
single-item vector and just add a ProtocolInterceptJobFactory when on
Android for the asset:// protocol handler.

While here, we can also remove XWalkUrlRequestJobFactory, whose special
functionality is not being used anywhere (if it ever was).
Merge pull request #629 from rakuco/remove-android-handler-duplication

[Android] Remove some of the duplicated code for handling Asset URLs.
Merge pull request #632 from cmarcelo/blank-page-fix

Always create module systems
[Tizen] Appid format must be XXX.XXX[.XXX]*

Tizen framework requires that Appid format of native app must be XXX.XXX[.XXX]*,
not just XXX. We make our web app pretend native app to Tizen, so we must follow
the format. Otherwise, app_get_id() in app.h in Tizen application framework
failes and XWalk can not initialize appcore.

BUG=https://github.com/crosswalk-project/crosswalk/issues/609
Merge pull request #650 from luxtella/appid

[Tizen] Appid format must be XXX.XXX[.XXX]*
[Android] Re-organize the packaging tools.

Move packaging tools from ./build/android to ./app/tools/android.
After that, Android would share the same root folder with Tizen
for packaging.

BUG=https://github.com/crosswalk-project/crosswalk/issues/618
DEPS.xwalk: Stop using SSH for the crosswalk repositories URLs.

Now that the crosswalk repositories are public, we can use direct https URLs
to clone them instead of the previous ones that used SSH.

The overhead of using SSH may be negligible in terms of speed, but doing so
allows truly anonymous checkouts: people may not have a GitHub account (or
have their SSH keys in the machine they're using at the moment).

Note that git:// would also work, but can cause problems for people behind
firewalls.
packaging: Fix adding the same files to the flat-tree archive

If we pass --update instead of --append to tar we only append to the archive
files that are newer than those already in the archive. This has the potencial
to make the archive generation faster in the incremental development case and
could also save some disk space.
packaging: Exclude src/out from the tar ball

If the same tree is used for development, src/out may contain the
results of previous builds, which are not needed for new builds.
Merge pull request #652 from rakuco/public-git-urls

DEPS.xwalk: Stop using SSH for the crosswalk repositories URLs.
Merge pull request #653 from vcgomes/packaging

[Packaging] Try to generate smaller flat-tree tar balls
Merge pull request #623 from junmin-zhu/reorg

[Android] Re-organize the packaging tools.
[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.