[ozone/wayland] Add touch events support.

This cl brings a touch support functionality to Wayland backend.
It has all the necessary implementation for using touch events
in chromium windows except menu windows[1].

The class which is responsible for dispatching touch events
is WaylandTouch. It manages cancelation, touch and motion type of
events. Every touch event (or a touch event per finger)
is registered and its id stored in a container, which is then used to
fire a cancel type of event and unset a touch focus from a window.

[1] Menu windows support is going to be upstreamed once
xdg_popup support for external window mode is in place.

The original patch is taken from https://crrev.com/c/754703 .
Author: santosh.mahto@collabora.co.uk

Bug: 578890
Change-Id: I0131050549f6b718a22fa39b376d226f98c29319
Reviewed-on: https://chromium-review.googlesource.com/922663
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Cr-Commit-Position: refs/heads/master@{#538720}
12 files changed