Provide a better way to map to a display key.

This fixes #9668.

cc @redmunds 
`RegExp.match()` can be used here so regexp is only executed once:

```js
        var displayKey = "",
            match = key.match(/(Up|Down|Left|Right|\-)$/i);
        if (match) {
            displayKey = key.substr(0, match.index) + _displayKeyMap[match[0]];
        }
```

Also, your code converts the display string to all lower-case and the menus seems to convert it back to mixed-case, so that is avoided.