While this isn't strictly required (outside of rulesets, potentially),
I think it's best that we keep these counts in a sane state.
Right now, it will remove any excess. Arguably, in the case an entry is
found with too many, we should wipe all entries and re-populate the
defaults. Interested in opinions on that before merging. See
https://github.com/ppy/osu/discussions/15925 for an example where wiping
may be the more appropriate behaviour.
Changes all usages of `KeyCombination.ReadableString()` to
`ReadableKeyCombinationProvider.GetReadableString()`.
Subscribing to `KeymapChanged` is only required in `KeyButton`.
All other places query `GetReadableString()` every time.
Not the most obvious keys, but does match stable expectations so let's
go with it for now.
Rationale for not using +/- is that local audio offset was bound to
those, and people will expect it to be when we get to implementing
eventually.
Also, adjust the scroll speed is a pretty rare thing to do since it's
been constant across beatmaps for years now.