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.
Let's try not to get the setting in constructor function but in the `start()` function? Constructor shouldn't cause any side effect.