Fix menu positioning when opened via keyboard.  Fixes #17769.

Changes include:
  - make keydown handler process context-menu key in addition to shift-F10
  - (for keyboard) open menu around focused node rather than node matching
    this.targetNodeIds / this.selector
  - different approach to avoid repeated contextmenu key events;
    1ms delay in _scheduleOpen() was too short