support the :choose option for ListBox
detect potential infinite recursion when text is modified in a widget and exit early
allow a user to select or place the text caret in an InputBox
rename caret manipulation methods
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' of github.com:chuckremes/shoes4 into chuckremes-master
Fix edit_line_spec
Consolidate edit_box/line into InputBox

* embed classes sicne they are tiny
* tests were basically duplicates, merge them together
* make secret spect actually have an expectation
Modify change specs + specs. Maybe easier if a class where to be used as change listener instead of runnable block
Choose option specs for ListBox
Further consolidate edit_line/edit_box to InputBox, remove duplication

* also better backend error reporting
text_selection/highlight_text/caret_to specs
SWT specs fail with subject set as InputBox due to different constructors with text options