TextHandle: disable the handles mousearea when no selection

Otherewise the handle will still be inside the scene, and eat
mouse events, even when not visible. The result will be that
you e.g cannot move the cursor to the place where you left the
handle, since you cannot touch the input field underneath

Change-Id: Id8c436964be1235bb7919f81659d0ead1b2c89df
TextSelection: improve logic that sync handles with selection

Since property 'selectionPosition' that depends on 'selectionStart'
gets updated after the call to 'onSelectionStartChanged', we cannot
depend on it inside the handler. Moreover, since selectionStart
gets updated before cursorPosition when selecting a new selection, we
need to update both selectionHandle and cursorHandle in both cases
to ensure that we base the logic on the latest values.

This will fix two bugs that causes the handles to jump to wrong
positions (and even wrong lines) once the user starts dragging.

Change-Id: I74919abb4169439659bd42952d5d5e6020f33853
TextHandle: only commit IM upon starting a drag

As an optimization, only commit current IM composing
when the handle drag starts. While dragging, there
should be no ongoing IM anyway.

Change-Id: Ibc57a708652ce853426e42961ad9bb258d37ff3d
Add new private control 'EditMenu'

This control will be used as a part of the different
text edit controls for controlling how the edit menu
should work.

Change-Id: Id3ed5795111c37269fce62a97cf4d9bde1b5f6b3
Add EditMenu to input controls

Add EditMenu to TextArea, TextField, ComboBox and
SpinBox.

Change-Id: Ic2fed55c467dde65334006d252f4052430f3f40c
update example

Change-Id: Id7abcc298e7b5586f0b328f431feae3ee7015698