Bug 1097450 - In KeyboardManager, properly save the activeLayout of groups supported by one layout, when we do the counterpart in InputLayouts

- Also, properly define the undefiness of activeLayout in InputLayout's layouts.
Intricateness: I don't want activateKeyboard to set layout.activeLayout. For me that attribute can only be set (or even read!) when (abstractly) we're already showing a layout and we want to book-keep or change the showing layout.

Please feel free to disagree, though ;)