keyboard: replace CcAltCharsKeyDialog with a generic XkbModifierDialog
Split off from !785.
This refactors the code here to be more generic and less redundant, so it can also be used for other things like the compose key (not added in this MR).
This also makes a couple style changes based on the design mockups. So I suppose this will require approval from @Teams/Design. A relatively simple change, but hopefully that makes it more approachable to review than the MR changing everything in both the keyboard and region panel at once.