[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.
How do you do that?