Make all submenus close upon user interact outside (#4988)
* Make all submenus close upon user interact outside
* add test
* refactor to close on underlay press
* turns out we dont need the ref
* restrict to spectrum for now
adding the logic to useOverlay brings up the possibility where a user could have a dismissible overlay open a non dismissible overlay but the absense of a underlay for the non dismissible overlay would then make the click on the dismissible overlay's underlay close both overlays which is different behavior from before. Isolating this change to spectrum for our submenu case until we implement something like focusscope tree to detect clicks outside the tree of menus