TextField: refactor selection handles

Move the selection handles to a private type that
can be re-used in SpinBox and editable ComboBox.

Task-number: QTBUG-38934
Change-Id: Ib1eec3259d19ffea7aa8c2b76fed4e914f2ce3ec
Reviewed-by: Liang Qi <liang.qi@digia.com>
Add styleData.hasSelection for text selection handles

Text selection handles typically look different based on whether the
editor has selection or not (one handle for moving the cursor vs. two
handles for selecting text). SpinBox and ComboBox do not have suitable
properties for testing whether the control has selection or not, so
styleData.hasSelection is introduced to abstract and expose that
information.

Task-number: QTBUG-38934
Change-Id: I362b5790f5d487e5ba258e42d1b801a5cce76770
Reviewed-by: Liang Qi <liang.qi@digia.com>