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.
wayland: Pull in egl.pc for gyp

This patch generates the needed system Mesa flags for compilation of
wayland/EGL/ submodule. Ultimately, it fixes the problem for systems that don't
have X11 headers installed by pulling in the flags from system's EGL
(specifically -DMESA_EGL_NO_X11_HEADERS)
Wayland: StartProcessingEvents the first time a widget is realized.

Currently, OzoneDisplay informs WaylandDisplay to StartProcessingEvents when
the first AcceleratedWidget is Realized. WaylandDisplay however decides when
to StopProcessingEvents (i.e. When all surfaces are destroyed). Start/Stop
processing events can be dealt internally in WaylandDisplay as it owns the
poll thread and also it would simplify the logic in OzoneDisplay. This CL
changes so that WaylandDisplay starts Processing events the first time an
Accelerated surface is realized. Start/Stop processing functions will be
made private in a follow up patch.