Converted ignoreDocumentClick signal to a timestamp with a timeout to ensure, upon occassional canceled touch or pointer it does not cause weird user experiences.
Converted the menu to use press gesture rather than just pointerdown event. This allows for scrolling on touch devices when the menu is open and prevents navigation when attempting to scroll/swipe the menu. Standardized a way to prevent navigation on clicking on the menu items by using a timestamp-based signal to prevent default on the click event, which cannot be canceled from within a pointerup or mouseup event (even though it can be canceled from a touchend event).
Added signal check on touchend to check the scroll offset to ensure the user did not scroll before we manually trigger a click event on an element.