Uses onTouchStart/onTouchEnd rather than wrapping children in a
Pressable, so taps are captured even when a child Pressable handles
the gesture. A touch is classified as a tap only when the finger moves
less than TAP_DISTANCE_THRESHOLD points between start and end.
Detects taps on a View via raw touch events and emits
component_clickanalytics events through the existing Insights pipeline.