Gardening: Update to latest commit.
Gardening: Rebase patches.
Gardening: Adopt to https://codereview.chromium.org/623293004
Gardening: Adopt to https://codereview.chromium.org/672823002/
Gardening: Adopt to https://codereview.chromium.org/626663002
Ensure OzonePlatformWayland is destroyed at shutdown.

Currently, OzonePlatformWayland is not being destroyed during
shut down. We now ensure that it's destroyed before app exists.
Stop DisplayPollThread in StopProcessingEvents.

StartProcessingEvents starts the thread with options and starts polling.
StopProcessingEvents stops polling for wayland events but doesn't
actually stop the thread. This patch fixes it.
This is based on initial work done here:
https://github.com/baillaw/ozone-wayland/commit/142abd2525a39ef2ad5c356e9a53987d35039a98
Combine Create and SetWidgetAttributes to one IPC.

Currently, we send an IPC to create the window, then an IPC call to
set the window type (i.e. Popup, FrameLess etc). This patch combines
them both into one Create IPC call.
IPC: No need to pass size information as part of SetWidgetState.

State Change handling in Display doesn't use the size information
being passed as part of WaylandWindow_State. WaylandWindow_State
doesn't accept size attributes anymore.
Don't set SwapInterval in case of OffScreen Surface.

We set EGLSwapInterval for both OnScreen and OffScreen surfaces.
In case of OffScreen surface, we use a Surfaceless Context and thus
we don't initialize any OffScreen EGL Surface. However, EGLSwapInterval
complains that EGL Surface is not present as it expects the draw buffers
to be present. This patch fixes the error by setting swap interval
only in case of OnScreen surface.
Keep ModelloUI focused after the UI is restored.

When the ModelloUI is restored, this patch allows the UI to get focus
in order to handle touch events without connecting a mouse.

Bug: TC-1763