Change the sub-menu show/hide from CSS to JS (part 1)

Incomplete. It's still too twitchy. Mouseleave events need to be
smarter, so users can correct their mistake if they happen to move
outside of the sub-menu.