[SysApps] Add the convenience classes and prototypes

These C++ classes and JavaScript prototypes are helpers for the common
places that appear all around the SysApps APIs specifications.

The main features are:

- Helpers for creating objects managed by the extension.
- Easy way of declaring API methods.
- EventTarget implementation, and thus, helpers for dealing with
  events.

For more information, check the documentation on the code.
[SysApps] Add unit tests for the convinience classes
[SysApps] Add browser tests for the common JavaScript API

These tests are testing the functionality of the helper JavaScript
prototypes and objects, like the EventTarget.
[Android] Refactor Java extension system

The commit is to decouple the extension from XWalkRuntimeViewProvider
and simplify the interfaces exposed by XWalkRuntimeViewProvider. Now it
is easy to use the extension system by creating a new
XWalkExtensionManager.

The backend implementation for XWalkExtension is abstracted as
XWalkExtensionBridge interface. Currently, one backend implementation
based on xwalk core is provided as default.

BUG=https://crosswalk-project.org/jira/browse/XWALK-148
[WiDi API] Add the OWNERS file for Presentation API
[Android] Handle external protocol correctly

The external protocol is not handled well.
1. There is a new interface at content resource loader
   delegate, which is "HandleExternalProtocol", it must
   return false for the protocol we want to handle
   differently.
2. The method "shouldOverrideUrlLoading" in XWalkContentClient
   is not hooked into navigation interceptor, so the override
   in derived client is not invoked at all.

BUG=https://crosswalk-project.org/jira/browse/XWALK-150
[Android] Copy JS API binding files to xwalk_core_library project

So that the cordova-container could use the built-in extension API, e.g.
widi api and device capabilities api.
Merge pull request #1067 from tmpsantos/raw_socket_common

[SysApps] Introduce SysApps foundations
Introduce OS_TIZEN and set specific settings for Tizen platforms

Introduce it to the build system.
Merge pull request #1093 from kenchris/settings

Introduce OS_TIZEN and set specific settings for Tizen platforms
[Extensions] Make RegisterExternalExtensionsInDirectory return a list of extensions name

Having XWalkExtensionServer::RegisterExternalExtensionsInDirectory returning
a vector of the loaded extensions name has proven to be useful for the XWalk
Extensions Shell. It is harmless for callers who doesn't need that information.
[Extensions] Add XESh: XWalk Extensions Shell

This commit adds a tool called XESh - a very simple Javascript
shell that loads external extensions for testing.

Usage: ./out/Release/xesh --external-extensions-path=$CODE/tizen-extensions-crosswalk/out/Default

After that you will get a prompt 'xesh>'. Just type any
javascript command or test your extensions.

What will be missing after this initial patch:
- centralize all shell 'handling' to a singleton and replace
fgets and fprintf calls to function calls of this class;

- make this shell handler use GNU readline so we get a better
shell for free :);

- Register the 'internal' native module;

- Make XESh rocks!
(a.k.a.: Any other shell cosmetics one feel like doing.)
[Extensions] Add a (simple) manual test for XESh

This manual test runs XESh passing an input file that
uses the echo extension. If the extension gets loaded then
it means the javascript command got executed and XESh has loaded
the echo extension properly.
Merge pull request #1060 from jeez/xesh

[Extensions] Add XESh: XWalk Extensions Shell
Bump version to 3.31.33.0
[Android] Testcase for Presentation API:displayavailable
1: Add testcase for both shared and embedded mode.
2: Add call onResume() after onCreate() in setUp() method.
   PresentationExtension need to do some init work in this life cycle method
Merge pull request #1072 from hmin/jsfiles-copy

[Android] Copy JS API binding files to xwalk_core_library project
Merge pull request #1076 from wang16/external_protocol

[Android] Handle external protocol correctly
[Tizen] Enabling Hardware Acceleration with Libva and EGL in
    VDA for Tizen Mobile within chromium v31+. [standalone packaging]

Why we need to maintain it in our side:
===========================================
1) Upstream confirm VAVDA will continue to be restricted to
   CrOS/X86 for dev & testing only and not for chromium road map.
2) CrOS/X86 no plan to expend EGL backend which finalize in
   June 2012 and be addressed to the CrOS graphics team.

So, the upstream no plan to lerage VAVDA with EGL graphic
   backend for any X86.

3) The tizen-mobile's driver only support EGL as texture
   backend. The video hw acceleration of xwalk have to
   rely on EGL not GLX to bind decoded pixmap.
===========================================
That's why we enable specific EGL for VAVDA in tizen port.
Merge pull request #1063 from kurli/presentation_test

[Android] Testcase for Presentation API:displayavailable