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

Will add JSDoc later.
Should check `normalizedKey` first so neither of the calls to `indexOf(normalizedKey)` is called with a falsy value:

```js
        if (!normalizedKey) {
            return false;
        }
```