made hideKeyboard more robust

Robustified hideKeyboard code.  Works with existing tests but will be adding new functional tests for swipe fallback.
swipe works in all the cases that tap does. swipe was removed and replaced with tap. tap will not work at all if an element is present on the center of the screen. I don't think it should be retained unless there's a valid use case. having it work most of the time and then failing when an element is in the center is not good.