Export DesktopFactoryWayland and OzoneDisplay.

Their symbols are needed when building downstream code (such as Crosswalk)
with -Dcomponent=shared_library.
impl: Delegate input methods handlers on DRWHW for native widgets

There's at least one access to DRWHW::OnNativeWidgetFocus at views::Widget
initialization time, and although we're not actually implementing any input
methods now, this call here will perform a bunch of eventual initializations
when we need it, like views::Widget::CreateInputMethod,
views::InputMethodBase::Init, views::InputMethodBridge::InputMethodBridge.

Nevertheless that's what DRWHX11 implementation is doing in upstream so let's
follow it as a good practice.
wayland: Don't set focus when pointer enter surface is not found

There's no apparent problems with the previous logic, but that's susceptible
for errors anyway. Besides, now the pointer focus is never set when the surface
is absent.
wayland: Set pointer position for enter event
wayland: Add serial logic for grabbing mechanism

This will be used for wl_shell_surface_move, wl_shell_surface_resize and
wl_shell_surface_set_popup, that are coming next.
wayland: Move focus window logic up to WaylandInputDevice

WaylandWindow also needs this information for input grab.

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

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

Replaced pointer usage with window handle and include order fix.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Style: Fix header include and use c++ style comments.
Input: Restore focussedwindowhandle correctly.

We return early when surface is null in pointerenter callback.
This patch resets any focussedwindowhandle to null in this case.