refactor(tap): Refactor tap system for improved tap/click/keyboard/scroll/focus

Overhaul of the tap system so the keyboard does not cover up focused
inputs, correctly bring up the keyboard on text input focus, disabling
focus during scroll, disabling clicks after a hold then scroll,
removing 300ms delay without additional event handlers on each element,
etc. Refactored the tap/click/scroll/activator events for more
testability, along with adding more tests.
bring back $ionicNgClick, but without having to use ionic tap
created containsOrIsTextInput
tap updates for select elements
android textarea .cloned-text-input fix
remove android overlay fix because it breaks keyboard focusing
don't show whitespace before keyboard shows
set activeElement on focus
Merge branch 'tap-refactor'