[SMACK] Label xwalk binaries with User domain

*In order to make all xwalk binaries running with same User domain
 label, we enforce "exec_label" property for them.
[Android] Add test case for clearCache().

This patch is to add test case for clearCache().
Request the url from TestWebServer, record the hit count to
webserver and compare the count with the expected number.
Drop "Main document" support

Spec: http://www.w3.org/2012/sysapps/app-lifecycle/#a-single-entry-point-to-the-application
SSIA. This patch removes the related functionality and tests.
Application class required quite deep modification, now it is inheriting
'content::RenderProcessHostObserver' to watch RPH lifecycle.
[Android] Fix Python 3 compatibility issue in packaging tools.

* Fix the open file mode which will cause str type error in Python 3
* Use sys.maxsize instead of sys.maxint since sys.maxint is remove in Python 3

BUG=https://crosswalk-project.org/jira/browse/XWALK-1721
[Runtime] Add dir and span support for widget

We can get right value for text items which have dir
propertie or span element in it.

This festure according to
http://www.w3.org/TR/widgets/#the-dir-attribute
http://www.w3.org/TR/widgets/#the-span-element-and-its-attributes
[Runtime] Fix getting the wrong value from widget API toString method.

According to W3C widget API specification, the widget.toString() method
should return "[object Widget]" value.

BUG=XWALK-1667
Merge pull request #1952 from wuhengzhi/clearCache_test

[Android] Add test case for clearCache().
Merge pull request #1961 from pozdnyakov/Remove_MainDocument

Drop "Main document" support
Merge pull request #1958 from CooderIan/span_dir_support

[Runtime] Add dir and span support for widget
Merge pull request #1965 from takethathe/widget-api

[Runtime] Fix getting the wrong value from widget API toString method.
[Tizen][Performance] Enable Accelerated 2D Canvas.

If GPU context can be lost, Accelerated 2D Canvas is disabled, because there is
no way to recover Accelerated 2D Canvas when GPU crashes. However, interestingly,
Android and ChromeOS mark it false to take advantage of Accelerated 2D Canvas
without fallback solution. They just take a risk.

So gfx::GLSurfaceEGL::IsCreateContextRobustnessSupported() decides whether to
enable A2DC. Currently, IVB supports context robustness, but ATOM might not
support it. Tizen takes a risk like Android and ChromeOS.

BUG=https://crosswalk-project.org/jira/browse/XWALK-1452
Merge pull request #1968 from ds-hwang/a2dc

[Tizen][Performance] Enable Accelerated 2D Canvas.
Bump version to 7.35.140.0
[Runtime] Fix can not ignore preference items when parse.

According to
http://www.w3.org/TR/widgets/#the-name-attribute-1
an preference item should have name attr, or it should be
ignored, and if there are two or more preferences used same
name, the first one should be took when others shoud be
ignored.
Roll in new version of Blink 3cf743afc1a77a1141f08897c4f2c3b805124f25

Patch :
- Enable SubpixelFontScaling by default.
Merge pull request #1971 from darktears/roll-font

Roll in new version of Blink 3cf743afc1a77a1141f08897c4f2c3b805124f25
Merge pull request #1969 from CooderIan/fix_preference_handle

[Runtime] Fix can not ignore preference items when parse.
Merge pull request #1966 from sqliu/fix-python3

[Android] Fix Python 3 compatibility issue in packaging tools.
[Runtime] Add getter and setter support for widget preferences api

According to
http://dev.w3.org/2006/waf/widgets-api/#the-preferences-attribute
the preference items need to support getter and setter.

And if we storage getter and setter items in WidgetStorage
entity, we will produce a dead loop like :
getter=> return this[itemKey] => getter => ...
So we storage getter and setter items in _itemStorage to
avoid this dead loop.
[Runtime] Fix identify the app package type while loading it.

Current implementation identify package type by configure document
name, 'manifest.json' will be recognized as XPK package, and
'config.xml' will be WGT package, but it's not always right if both
'manifest.json' and 'config.xml' exist in one package.

This patch add a package type parameter when loading it, to make sure
that unpacking and parsing package use the same package type.