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
Merge branch 'master' into dependency-cleanup
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.
DesktopAura: Make Screen implement OutputChangeObserver interface.

Currently, OzoneDisplay implement OutputChangeObserver interface and inform
Screen of any outputchanges. Eventually, the goal is that OzoneDisplay will
have no information about DesktopAura, this CL makes Screen implement the
OutputChangeObserver interface now. Now, the only reference to DesktopScreen
in OzoneDisplay is it's creation. This CL also removes the 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.
Cleanup: Remove unnecessary display include in EGLWindow.
WaylandDisplay: Make Destroy and Create functions private.

Any Widget creation 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.
OzoneDisplay: Move RealizeAcceleratedWidget logic to WaylandDisplay.

We moved all Windowstate change handling to WaylandDisplay. For
completeness, this patch moves RealizeAcceleratedWidget to WaylandDisplay too.
This also helps remove any unnecessary WaylandWindow includes in
OzoneDisplay.