[ozone/wayland] Add xdg_v6 support

This commit adds an xdg_v6 support.
Both ChromeOS and Linux builds will use that.

The way it is done is following:

WaylandWindow doesn't know now about the shell version used.
It uses XDGShellObjectsFactory now to construct xdg_surfaces (and
xdg_popups in the future). The decision on what version of shell to use
is based on the shell version, which WaylandConnection has.

XDGShellObjectsFactory creates an XdgSurfaceWrapper object, which is
inherited by XdgSurfaceWrapperV5 or XdgSurfaceWrapperV6 objects.
Shell version specific interface implementation is hidden there.

This solution should allow to add more shells in the future with as
minimal changes as possible.

The FakeServer is modified in such a way that FakeServer::Start() takes
a shell version number passed by gtest object and instantiates requested
shell version. As soon as the connection is established, tests start to
run.

BUG=666958, 578890

Change-Id: Iba239cb87db88b0779d7221a07bef5de730a47bd
Reviewed-on: https://chromium-review.googlesource.com/666959
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502544}
21 files changed