xwalk-launcher: Simplify dependency on 'gio' gyp target.

Both Linux and Tizen depend on system.gyp:gio, so we can depend on it
unconditionally and simplify the gyp code.
Merge pull request #2665 from rakuco/simplify-gio-unix-gyp-dependency

xwalk-launcher: Simplify dependency on 'gio' gyp target.
[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-bin contains the Crosswalk binaries and supporting files,
while crosswalk-libs contains Chromium shared libraries and data files.

The main goal of the split is to be able to build them
independently (and have them as separate repositories in
build.tizen.org), so that changes to Crosswalk itself only require
crosswalk-bin to be rebuilt. In practice, this means each rebuild only
takes a few minutes instead of several hours.

The |build_bin| and |build_libs| spec variables determine whether
crosswalk-bin and crosswalk-libs will be built, respectively. One can
change their value by passing "--define build_{bin,libs} <0|1>" to "gbs
build". They both default to 1 so by default we build everything just
like we have always done. The only difference for developers is that two
packages will be generated instead of one.

It is important to mention that even if |build_bin| is 0, Crosswalk will
still be built, since this is the only reliable way of generating all
shared libraries that the Crosswalk binaries need. In any case, the
build time penalty should be negligible when compared with all the
Chromium targets built before the Crosswalk ones.

The spec file got slightly more complex because of the split and the
need to handle those two variables, but the bulk of the change is in
crosswalk-do-not-build-several-chromium-dependencies.patch. This patch,
which is applied only when |build_libs| is 0, 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 we have 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.

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
Move the BuildRequires dependency on crosswalk-libs up.

BuildRequires entries are global, not package-specific. Move it up
before the %package sections to make it explicit.

While here, add a Requires dependency on crosswalk-libs which I am not
sure we really need.
wip
test removing dependencies from crosswalk-libs