Add gypi file per folder.

This patch moves introduces a gypi file per folder. The gypi file
includes files in that folder, instead of having all of them in
ozone_impl.gyp. Now, Desktop Aura related files are compiled only
when toolkit_views = 1. This has resulted in a linking error when
Toolkit views is disabled but will be fixed in coming up patches.
Move all desktop_* and related files to desktop_aura folder.
Move keyboard_engine_xkb to wayland/input/

keyboard_engine_xkb has dependencies on XKB and is used by wayland/.
This patch moves keyboard_engine_xkb to wayland and removes wayland/
dependency on ime/
desktop_aura: Track upstream changes in DWTHWayland
wayland: Add more useful warnings about not implemented code
desktop_aura: Treat TYPE_BUBBLE similar as TYPE_WINDOW

App Launcher is one of the few bubble types I've seen and seems that it pretty
much imitates the window type behavior (toplevel). Treat these types equally
for now, therefore.

TEST=./out/Debug/chrome --no-sandbox --user-data-dir=/tmp/chrome --show-app-list
BUG=#197
Add support for RPM build

This patch is based on Crosswalk RPM package files.
ui/ime: Shut off OnTextInputTypeChanged error messages
DesktopAura: Remove the usage of OzoneDisplay in DRWH.

We use OzoneDisplay in DRWH to query for PrimaryScreen and get it's
geometry. In Aura, we just have one Screen which can be associated to one or
more display. Now, we query PrimaryDisplay from Screen and get it's geometry.
OzoneDisplay: Remove logic in DefaultDisplaySpec

This CL removes logic related to updating spec_ in OzoneDisplay as
we don't use it and upstream has completely removed it's usage. We need to
update our revision before removing DefaultDisplaySpec. This is part of an
effort to remove all DesktopScreen usage in OzoneDisplay
DesktopAura: Make Screen implement OutputChangeObserver interface.

Currently, OzoneDisplay implements OutputChangeObserver and informs Screen
of any output changes. Eventually, goal is that OzoneDisplay will have no
information about DesktopAura, this CL makes Screen implement
OutputChangeObserver interface. Now, the only reference to DesktopScreen
in OzoneDisplay is it's creation.
Cleanup: Remove unnecessary display include in EGLWindow.
WaylandDisplay: Make Destroy and Create functions private.

Any Widget state change needs to be handled via WindowStateChangeHandler
interface. We have CreateAcceleratedSurface and DestroyWindow which shouldn't
be used outside WaylandDisplay now. This CL makes these functions private.
Most of the changes are related to rearranging code in order to ensure the
order of declaration and implementation are same.
OzoneDisplay: Move RealizeAcceleratedWidget logic to WaylandDisplay.

We moved all Windowstate change handling to WaylandDisplay. For
completeness, this patch moves RealizeAcceleratedWidget to WaylandDisplay
too.
Missing changes related to RealizeAcceleratedWidget move to WaylandDisplay.
Gardening:Update to latest revision.

We have a lot of changes in this update. All changes will be broken
down to individual commits in follow up patches.
Gardening: Changes in Desktop Aura.

Effecting CLS:
https://codereview.chromium.org/172743002
https://codereview.chromium.org/143473003
Gardening:Changes in SFO.

Effecting CLS:
https://codereview.chromium.org/131373007
https://codereview.chromium.org/177213003
Gardening: Fix linking issues.

We need to implement few free functions now. Atleast static_component
build should work fine now but I am sure that this breaks shared component
build. However, I dont want to keep this update pending on that.
I will try to fix these things upstream.

Effecting CLS:
https://codereview.chromium.org/174223004
https://codereview.chromium.org/175573002
https://codereview.chromium.org/176893002/
Gardening: Have 179903006 as a temporary patch.

179903006 is needed to have a working browser with Ozone and DesktopAura.
I will remove the patch once it lands upstream and we update our
revision.