Set text by typing on the keyboard instead of using JS setValue (resolves #2)

Causes text to be set on SLTextFields (and SLSearchFields and
SLWebTextFields) by actually typing on the on-screen keyboard
instead of using the setValue JavaScript function.  This is
closer to how a real user would set the text for these fields
so the new setText methods will yield more honest testing.

Note that the automatic wait for [SLKeyboard keyboard] to become
valid serves the same purpose as the old "waitUntilTappable"
calls---it causes a delay until the text field is ready to
handle editing actions.  So there's no need to wrap the editing
actions in waitUntilTappable anymore.