iOS: scroll screen when keyboard opens

This change will add a UIScrollView as the root
view of our view controller instead of a normal UIView.
QIOSInputContext will then scroll this view
up and down to not obscure the cursor.

Change-Id: If0758f4bf04c2b8e554e0196451154def7e3cb86
iOS: configure keyboard based on IM hints

Configure the keyboard based on IM hints returned
by the focus object

Change-Id: Ie41be78c6588b3cd9fa5a84a16f1c099304f5c0b
iOS: don't scroll after inputItem has moved

Change-Id: Iad0762965f9dcdbcca934ce6d90a8c1413ce3ca2
iOS: update keyboard layout upon focus transfer

When iOS transfers focus from one view to another, it
asks the new view for its UIKeyInput properties before
deciding how the keyboard should be configured.

For Qt, the same QUIView is used for the whole QWindow
which means that UIKit will not change the keyboard
configuration just because we change the focus object
in Qt, since the UIView does not change.

There seems to be no way to tell UIKit that the
keyboard needs to change becuse the UIKeyInput
properties has changed. To work around this, we
briefly resign first responder status, and grabs it
again, for the same QUIView.

Change-Id: I2d15cc0c928deb023e7da58ad4669b7099dce2cf