Fix menu positioning when opened via keyboard.  Fixes #17769.
(Backport to 1.8 branch)

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 repeat contextmenu key event;
    1ms delay in _scheduleOpen() was too short; there's about 100ms between
    the keydown and contextmenu events on IE8

(cherry picked from commit 169a70ac360fade1d95448433ca93a5a38c25abe)

Conflicts:
	Menu.js
	tests/robot/Menu_a11y.html