Revert "Uplift bug 912010, 928281 and 931977"

This reverts commit cce2ba1312b9a1fa534f446a46981d7ce6ee38fe, reversing
changes made to 90d2ede90cb19a7d1986950012b15c7024022205.
Merge pull request #12016 from gasolin/issue-911668

Bug 911668 - [homescreen] change build-in apps orientation to default, r=timdream
(cherry picked from commit 18c2ab4b7b2d4cacee90fb85e97354142b2fad4a)
Bug 912010 - [Keyboard][V1.2] Default Keyboard when all keyboards are de-selected - r=rlu r=garychen r=arthurcc

- Refactors `KeyboardHelper`
  - Renames the application method to `getApps`, which now caches response until the apps change
  - Adds a new API `getLayouts` to get a callback with an array of layouts.
  - Adds a new API `watchLayouts` to get a callback whenever layout settings or apps change
  - No longer calls `saveToSettings` itself when changing layout parameters.  This allows a consumer to batch operations before saving.
  - New method `checkDefaults` will make sure there is at least one `text` `url` and `number` keyboard enabled, calling the callback with anything it enabled.
  - +unit test suite.

- ManifestHelper now automatically returns a ManifestHelper for each object it contains
  - +unit test suite
  - now waits until access time to handle the language selection instead of creation time
     - this allows holding the one manifest helper and having its "name" property change with the language

- Settings Changes
  - Now uses `watchLayouts` from keyboard_helper
  - Now calls `checkDefaults` when disabling a keyboard
    - If a default is enabled opens a DefaultKeyboardEnabledDialog
  - Removed a bunch of commented out code for dealing with the old layout settings

- System Changes
  - Now uses `watchLayouts` from keyboard_helper
  - Will call `checkDefaults` whenever it can't find a keyboard to show, showing the default from `text` if it still can't find one

- Test suite
  - Moved some mocks to shared and updated require statements
  - Mock Settings now allows a "sync mode" that can call the callbacks for observers on demand.

Closes gh-12866
(cherry picked from commit ad0bf992cd379a32de18b9a4bb765757db8af986)

Conflicts:
	apps/homescreen/test/unit/homescreen_test.js
	apps/system/test/unit/homescreen_window_test.js
Merge pull request #12213 from EragonJ/bug-911681

Bug 911681 - [FTU] replace tutorial images for large device(cherry picked from commit 754d45c663b96a3a9fb5c92b4aa91c2909717970)
Merge pull request #13115 from RudyLu/keyboard/Bug928281-keyboard_OOP

Bug 928281 - Run keyboard app Out-of-Process (OOP). r=timdream(cherry picked from commit 9c6586d85d4340600ace0aa69f5741c5f3f67970)
Bug 931977 - [Keyboard] Ensure first keyboard shown is properly initialized - r=rudyl

- use the `setKeyboardName` during first keyboard load
- Renabled TBPL test

Closes gh-13192
(cherry picked from commit b6221a5ecdeb1252c42f6a7b5628c90c1888346b)

Conflicts:
	tests/python/gaia-ui-tests/gaiatest/tests/tbpl-manifest.ini
Merge pull request #13255 from timdream/keyboard-perm-safenet

Bug 915570 - Rename 'keyboard' permission and role to 'input', r=rudyl
Merge pull request #13179 from mpizza/Bug_932257_keyboard_not_hidden

Bug 932257 - [keyboard] previous InputMethod will not disappear while sw...  r=rudyl.(cherry picked from commit d59c9446595eba2677fdcb363b2b42ae52ee0b12)