Window activation: support new focus reason: Qt::InputPanelFocusReason

The motivation for the function is that we need a way (for
iOS/Android) to tell the currect window to remove focus from the
focus object when the user hides the input panel. Otherwise, if the
focus object is e.g a line edit, the cursor will continue to blink
inside it, which is wrong.

As it stood, telling the window to deactivate
(QWindowSystemInterface::handleWindowActivated(0)), could cause
the whole application to deactivate, which is not what we want.

This patch will add a new Qt::FocusReason called
Qt::InputPanelFocusReason that can be specified when
telling the window to deactivate, so that we can avoid deactivating
the application just because the input panel got hidden. Note that
the implementation now allows the plugin to send deactivate for the
same window twize, in case the focus reason changed.

Change-Id: I685c2ea91dbc6ab18b063bb7e8f0f50fbfa686ac
inputcontext

Change-Id: I17e9cb4e1e44260ea2458ea55bbc75d2fd427481

Conflicts:
	src/gui/kernel/qwindowsysteminterface_p.h