We were using createRef() instead of useRef() in the hook, which
meant we were always creating a new ref object and never actually
getting the ref. This must have been working before the useEventTarget
stuff due to some quirk of React / hooks...
* Avoid also getting a 'mousedown' event by making the event listener
non-passive so the preventDefault() works
* Remember the touch that pressed the button so we only un-press
when that touch ends, otherwise the button gets released if the
user taps the screen anywhere else.