feat: add basic keybindings support
Created by: sqs
fix https://github.com/sourcegraph/enterprise/issues/12907 depends on https://github.com/sourcegraph/extensions-client-common/pull/58
This adds basic keybindings support. The command palette is now triggered by the keybindings defined in keybindings.ts instead of by a manual keyboard event listener. The immediate goal is to fix https://github.com/sourcegraph/enterprise/issues/12907.
It uses @shopify/react-shortcuts, which was the most appropriate library I found for doing this. Other libraries (such as react-hotkeys) did not support global hotkeys, used a deprecated underlying lib (mousetrap), or were poorly documented/supported.
There is future work to be done in supporting keybindings defined by extensions, and much more in this general area.