[keyboardlayouts] change from named layout to a locale+variant system

This change keyboard layouts from using names by conversions to using locale and variant name.

Allows to:
1. In the future, tie keyboard layout to other locale setting.
2. Display a shorter name in the keyboard dialog. Currently kept unchanged, but it's very easy to change to a lang code (or flag like the original PR) now that display name is decoupled.
I was talking about hardcoding the order of `<language name> <keyboard variant>`. In an RTL language that might actually be `<keyboard variant> <language name>` independent of whether the language name is localized or not.