Add 3rd-party keyboard (IME) support

This is the 3rd time we try to land 3rd-party IME framework.
We add a new commit 7a824a8b886aee69401ccd3c5ad2a42efc070ed1 here to revert the rename from 'keyboard-frame' to 'keyboards', since this rename would break Gaia UI Tests on TPBL (caused the backout last time).

Please help review the last commit 7a824a8b886aee69401ccd3c5ad2a42efc070ed1, thanks.