Rename RuntimeContext to XWalkBrowserContext

Since it's a browser context actually.
gyp: Cleanup Aura-related files and dependencies.

* Stop manually excluding _aura.cc files from the build, this is done
  automatically by Chromium's filename_rules.gypi. Ditto for files
  ending in _views.cc.

* Remove the dependency on the "aura_test_support" and "wm" targets. Not
  only does depending on a test target even when no tests are being
  bring a ton of additional dependencies, but neither targets seem to be
  needed at all, and were probably only needed in an earlier version of
  commit 336c03a ("runtime: Add aura-only native support").
DEPS.xwalk: Roll chromium-crosswalk (35b73bc -> abbaeb8).

abbaeb8 Merge pull request #214 from rakuco/revert-tizen-geolocation-changes
2d50c47 Revert Tizen changes to support changing the system location provider.

A proper implementation using those changes comes in the next commit.
[Tizen] Make the location provider implementation self-contained.

One of the problems with ld.bfd described in 7b83793 ("[Tizen] Start
using binutils-gold for linking Crosswalk again") was that when building
Crosswalk with -Dcomponent=shared_library ld.bfd would complain that
libcontent.so was missing symbol content::NewSystemLocationProvider().

Even though ld.gold links our binaries correctly, we are still having
problems _running_ them because the runtime linker cannot find an
implementation for that symbol (gyp causes lib/libcontent.so to be
passed after the .a archive containing the implementation in
content::NewSystemLocationProvider() from Crosswalk).

We can solve this the right way by making use of the infrastructure that
has been present in Chromium since at least M35 (!!): just override
ContentClientBrowser::OverrideSystemLocationProvider() and instantiate
Tizen's implementation there.
Merge pull request #2673 from rakuco/cleanup-aura-gyp-deps

gyp: Cleanup Aura-related files and dependencies.
Merge pull request #2671 from pozdnyakov/rename_RuntimeContext

Rename RuntimeContext to XWalkBrowserContext
Merge pull request #2674 from rakuco/tizen-implement-locationprovider-without-touching-content

[Tizen] Make the location provider implementation self-contained.
[Tizen] Build with component=shared_library.

It is the first step required for our hacks and workarounds to separate
the building of Chromium's code from Crosswalk's and into separate RPMs.

This commit starts passing -Dcomponent=shared_library to gyp so that
instead of building most libraries we use as static libraries, we build
them as .so's that get installed into %{_libdir}/xwalk/lib.

They are not installed into %{_libdir} directly because:
 * These libraries are private and not expected to be used by any other
   package.
 * The executables we generate assume that these shared libraries are in
   a directory called "lib/" below their location. This is done
   automatically by gyp by setting the binaries' RPATH.

Consequently, xwalkctl and xwalk-launcher also needed to be moved from
%{_bindir} to %{_libdir}/lib/xwalk. The versions in %{_bindir} are now
small shell script wrappers that call the real binaries. The shell
script itself is a repurposed version of xwalk.in, which we had stopped
using since commit 08f95caf ("[Tizen] Do not install 'xwalk' binary to
'bin' directory").

BUG=XWALK-2571
[Tizen] Split the package into crosswalk-bin and crosswalk-libs.

crosswalk.spec has been split into crosswalk-bin.spec and
crosswalk-libs.spec, each of which generates a separate RPM package:

* crosswalk-bin: The actual Crosswalk web runtime with all the xwalk*
  binaries and supporting files (systemd and D-Bus service files, for
  example).

* crosswalk-libs: The Chromium shared libraries and supporting
  files (such as icudtl.dat) required by the crosswalk-bin RPM. It has
  no dependencies on any Tizen-specific packages/libraries.

The main goal of the split is to be able to build them
independently (and have them as separate projects in build.tizen.org).
This way, changes to Tizen libraries (or to src/xwalk itself) only cause
crosswalk-bin to be rebuilt. Building crosswalk-bin should take only a
few minutes (instead of the hours it took to build the whole Crosswalk
RPM before).

The README in packaging/ has been updated, and the TL;DR; version is
that one must now specify which package needs to be built when calling
gbs build:

  $ gbs build --spec crosswalk-bin.spec # or crosswalk-libs.spec

Building crosswalk-libs requires some trickery:

* First of all, we do not want to depend on any Tizen package, otherwise
  changes to them in tizen.org would automatically trigger a
  crosswalk-libs rebuild that can potentially take hours as described
  above.
  We solve this by introducing a "building_crosswalk_bin" variable (its
  default value is 1) to build/system.gyp, which already centralises all
  the detection of additional package dependencies and pkg-config calls.
  If it is 0, pkg-config will not be called at all in targets such as
  "tizen", which is what we want and do in crosswalk-libs.spec.

* Secondly, we need to build all the shared libraries that the Crosswalk
  binaries need. We cannot hardcode this list, so the only reliable and
  future-proof way of doing it is to use gyp's dump_dependency_json
  generator and parse the dependency graph it generates to determine
  which targets in src/ (but not src/xwalk) need to be built. This is
  what the newly-added print-chromium-deps.py script does.

As for crosswalk-bin, it requires some invasive changes to Chromium's
build system to avoid building all the heavy Chromium targets such as
"contents" or "blink_web". The bulk of the change is in
crosswalk-do-not-build-several-chromium-dependencies.patch. This patch
changes several targets in the build system so that they do not build or
generate any files and just pass "-l<target>" to the linker. In other
words, we trick the build system into assuming nothing needs to be built
and using the shared libraries crosswalk-libs has installed into
%{_libdir}/xwalk/lib instead. As the big description in the patch
mentions, maintaining this patch up-to-date across Chromium releases
requires manual intervention since targets and dependencies are very
likely to change every time. The amount of pain in the arse this is
going to represent over time is still to be determined.

Another noteworthy change is that libxwalk_backend_lib.so's installed
location has changed from %{_libdir}/xwalk to %{_libdir}/lib since we
need the latter anyway for all the other shared libraries. We then
employ a small amount of shell scripting to make sure it is not part of
the list of files we want in the crosswalk-libs RPM.

BUG=XWALK-2571
Use a more intrusive ui/gl/gl.gyp patch.