[Android] Allow XWalkUIClient to overwrite openFileChooser

Previous, select file is handled within xwalk_web_contents_delegate
and the openFileChooser API in XWalkUIClient is not working.
"openFileChooser" is used in android.webkit.WebChromeClient, which
is adopted by many current webview users (e.g. Cordova).

In this commit, it dispatches the request to XWalkUIClient which is
empty implementation. If the derives override the implementation,
it can invoke the callback somewhere to provide the chosen file.
Otherwise, it will fallback to internal solution using
RuntimeFileSelectHelper::RunFileChooser.

BUG=https://crosswalk-project.org/jira/browse/XWALK-1561
[PATCH] [Android] Enhance the resource client

1 Define the error codes when resource loading failed, follow up
the defination of Android WebView.
http://developer.android.com/reference/android/webkit/WebViewClient.html

2 Enable the onLoadFinished(), by invoking the callback in onPageFinished().

BUG=XWALK-1562
Merge pull request #1855 from xingnan/resource-loading-refine

[Android] Enhance the resource client
Merge pull request #1856 from wang16/open_file_embedding

[Android] Allow XWalkUIClient to overwrite openFileChooser
[Android] Packaging tool enable set long string in package option

Add a limit of 127 characters to package name.

BUG=https://crosswalk-project.org/jira/browse/XWALK-1460
Merge pull request #1864 from PeterWangIntel/PR1460

[Android] Packaging tool enable set long string in package option
[Android] Use int instead of enum for reload mode

Use int as the parameter is more straightforward for the reload(),
to make embedder easy to use the api.
Merge pull request #1865 from xingnan/reload-mode-int

[Android] Use int instead of enum for reload mode
New manifest API implementation (part 1)

The following steps from http://w3c.github.io/manifest/#processing-the-manifest
are implemented (considering the known limitations):
1) steps for processing the start_url member
2) steps for processing the display member
Merge pull request #1871 from pozdnyakov/New_Manifest_API

New manifest API implementation (part 1)
[Android] Fix that R.class in core library is set with incorrect value

The R.java chromium build process for apk generated in the
trival target based on xwalk_core_library is with incorrect
value set.

However, what we needed is the declare class from resource map
instead of the one with value. To fix this, build
xwalk_core_library_empty target as test apk to exclude resource
generation, besided add resource map as additional src to include
the correct declaration of R.java.

Thus, the R.class was missed in xwalk_core_library_java,
caused by https://crosswalk-project.org/jira/browse/XWALK-1575
The gyp keyword 'all_dependency_settings' doesn't work on the
target 'chromium_generated_java' for variable 'jar_final_path' which
normally is declared in 'build/java.gypi'

Currently, explicitly add the jar from chromium_generated_java into
the list.

Rename the empty apk target to xwalk_core_library_empty_embedder_apk,
It's more precise and to avoid incorrectly packaging the legacy
classes in previous target's output folder.

BUG=https://crosswalk-project.org/jira/browse/XWALK-1577
Merge pull request #1869 from wang16/fix_resource_map

[Android] Fix that R.class in core library is set with incorrect value
[Android] Crosswalk Sample code

This is the initial version of Crosswalk Sample app.
It uses Crosswalk Embedding API, and covers below API usage:
1. XWalkView UI Inflation
2. Multiple XWalkView instances
3. Using Manifest
4. XWalkResourceClient and XWalkUIClient
5. XWalkPreferences
6. XWalkNavigation
7. Pause/resume JavaScript Timers
8. Visibility Change

BUG=XWALK-1230