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.
What would happen if `currentActiveLayoutIdx` is undefined? Do we have any protection to ensure we only reach here after we got the setting?