TextHandle: reparent handle to the root when visible

To ensure that selection handles are never obscured
by other items, we need to make them parent of the
root item.

Change-Id: Iad0032cd22adb227ca5571d232cb7cd443eb25cf
TextHandle: remove unused property

Change-Id: I782cdd4b8db772855d056044818dcd89fbd8985a
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
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
Add new property 'menu' to edit controls

Change-Id: I11d2ec295029a81b824125c07832ec3bf563dd26