made hideKeyboard more robust

Robustified hideKeyboard code.  Works with existing tests but will be adding new functional tests for swipe fallback.
Doesn't tap work in some cases?  Or am I conflating it with 'press' that invokes the ::tap function?  

If it does work, there may be existing tests that depend on it.  I think we should either leave it alone or remove it as part of a major release.  If it's broken entirely, then yeah, let's yank it.