wayland/inputs: Change WaylandCursorData constructor and destructor

It was using a funny "static WaylandCursorData" via Initialize() and
now I've changed it for using the more conventional way through the
class name constructor. Also Clear() was dropped in favor to the
destructor.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id 5bfabfad130b639b4215e57c11acccd003d4c429.

Change had fixed the crash associated with WaylandCursor
deletion but has a potential for memory leak. These changes
ensure that only one instance of CursorData is created.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Add SetGeometry API for DesktopScreenWayland.

Geometry of screen is needed for various api calls. Instead of having to
convert it from Display spec everytime, we can cache it locally. The
patch adds SetGeometry api, which can be used by Display to set the
geometry every time OutputSize changes.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>

The patch was imported from https://github.com/kalyankondapally/ozone-wayland/
as of commit id e5c1b62be1e21cd3b8d0c78072f387e72816da5e.

Rebase to latest Master branch.

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id bdccfdeadc3d45e4e2b974cd3fe2c8b9e0df0a6e.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
impl: Implement LookAheadOutputGeometry to anticipate output properties

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id 1254ac24c38387757f760a67e912fde6832bfe70.

Following changes have been done from the original patch:
1)Rebase to latest master branch.
2)Replace bool usage with enum in display constructor.
3)Avoid creating DesktopScreen on GPU side.
4)Move wayland related calls from OzoneDisplay to WaylandDisplay.
5)Avoid round trip to display if the screen geometry is already known.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Add DChecks in DesktopScreenWayland.
impl: OzoneDisplay::OnChannelEstablished shouldn't send old data.

Once the channel is established, the browser process already has been
running for awhile and the output geometries in question were already
accessed by the UI. So it's just useless to dispatch a late
OutputSizeChanged.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id ffd065d.

Rebased.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Merge pull request #104 from tiagovignatti/output-review_authorship-fixed

Output review authorship fixed