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

Will add JSDoc later.
Yes, I missed this one since it is buried in a collapsed comment.