Ensure that cursor rectangle is always valid.

The cursor rectangle is given an invalid size when the user clicks on
an input field; the reported size is 0 pixel wide.
The cursor is then converted to a QRect, which is invalid if rectangle
width is 0.
This can interefere with input methods that check for cursorRect
validity before reporting a cursorRect change.

Make sure that a cursor rectangle with at least one valid dimension
becomes a valid QRect.

Task-number: QTBUG-35996

Change-Id: I4026f1136cfb006efc5d7915f0f10c1b5187c730
Signed-off-by: Luca Ottaviano <lottaviano@develer.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>