Ozone/Wayland: Move to newer APIs and improve GPU initialization

The Wayland platform for Ozone currently implements the following
deprecated API from SurfaceOzoneCanvas:

* CreateViewGLSurface
* CreateOffscreenGLSurface
* GetNativeDisplay
* LoadEGLGLES2Bindings

That code is moved into a separate GLOzoneEGLWayland helper class
implementing GLOzoneEGL. This also allows to better handle the fact that
the support is restricted to the kGLImplementationEGLGLES2
implementation.

Also OzonePlatformWayland is updated to prepare support for the newer
variants of InitializeForUI and InitializeGPU with initialization
parameters, even if every callers do not set these parameters correctly
at the moment.

Currently, InitializeGPU checks whether surface_factory_ has been
initialized and otherwise creates a WaylandSurfaceFactory with a null
Wayland connection. Some comments are added to clarify these two
workarounds. In particular, the verification could be made clearer with
args.single_process when the migration to the new InitializeGPU variant
is complete. Additional changes better protect the part of
WaylandSurfaceFactory that assumes a non-null Wayland connection and
ensure that we always fullfill this assumption inside the
WaylandSurfaceFactory and WaylandCanvasSurface helper classes.

R=rjkroege@chromium.org
BUG=none

Review-Url: https://codereview.chromium.org/2313353003
Cr-Commit-Position: refs/heads/master@{#417528}
3 files changed