made hideKeyboard more robust

Robustified hideKeyboard code.  Works with existing tests but will be adding new functional tests for swipe fallback.
I mean something like this in the switch statement:

```javascript
switch (strategy) {
        case 'press':
        case 'pressKey':
          $._pressKeyToHideKeyboard(keyName);
          break;
        case 'tapOut':
        case 'tapOutside':
          $._swipeToHideKeyboard();
          break;
        case 'default':
          $._swipeToHideKeyboard();
          break;
        default:
          throw new Error('Unknown strategy: ' + strategy);
      }
```

The tap function isn't invoked in the switch statement anymore. I think the functions are fine. They can be used via execute_script.