Implement custom keyboard shortcuts support with a user key map file.

Will add JSDoc later.
Oh, I see -- because you have an array of commands. Seems easier to just have an array of keys.