DRWH: Set correct show state.

We always return SHOW_STATE_NORMAL in GetWindowPlacement. This CL
makes changes so that the current window state is taken into account
and appropriate state is set.
DRWH: Implement SetSize support.
DRWH: Previous bounds is not always correct.

We save previous bounds during the construction phase and it's not
updated as and when bounds is really changed. (i.e. SetSize or
SetBounds call). Right way to track the restore/previous bounds is
to store the value before window state is changed to FullScreen,
Maximized etc. This CL does changes in this direction
DRWH: Add basic support to query WorkAreaBounds in a Screen.

Currenly, we always return a dummy value in GetWorkAreaBoundsInScreen.
Ideally, we should return the total output area - the space occupied
by wm decorators(i.e. dock etc). I couldn't find a way to query from
wayland protocol the space occupied by wm decorators. So, for now
we always return the total output area.
DRWH: Implement proper support for GetRestoredBounds.
Delegate: Don't pass handle id to MouseEvent.

In BrowserProcessDispatcherDelegate we pass handle id during
construction of mouse event. We shouldn't do this as it's treated
as event flags.
Inputs: Make read only functions as const.

Adds missing const keyword for Read only functions in WaylandInputDevice.
Input: Remove un-necessary forward declaration.
DRWH: Set initial focus to activated window.
DRWH: Inform delegate when focus is changed.

This patch adds call to OnHostLostWindowCapture. This is needed to
inform delegate that the current window has lost focus.
wayland: Implement input grab for windows

Now, with the input grabs in place, after a popup window is opened
no other window will receive motion events unless that popup is
destroyed. That's the behavior Weston's toytoolkit is implementing,
which I believe is the correct recommendation.

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/41c825

Replaced pointer usage with window handle and removed un-necessary
includes.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
wayland: Transient window/Menu should register itself as GrabWindow.

Menu/popups should grab all the mouse notify events till closed.
Now, WaylandWindow registers itself as the GrabWindow, in case of
it being menu/popup.
DWRWH: Ensure Menu doesn't handle other window release events.

This patch makes changes to ensure that menu handles MouseRelease
event only when MousePress event was handled by it. This ensures
that menu/transient child windows don't handle the press/release
mouse events of other windows.