Bug 971459 - [System2] Instantiable Applications.
Bug 976846 - Update active app earlier
Merge pull request #16682 from alivedise/bugzilla/976846_bubble-tea/update-active-app-early

Bug 976846 - Update active app earlier, r=timdream
Merge pull request #16779 from mpizza/Bug_971459_fixed

 Bug 971459 - [System2] Instantiable Applications. r=alive.
Bug 971458 - [System2] Instantiable AppWindowFactory
Bug 976846 - fix lint
Merge pull request #16790 from alivedise/bugzilla/976846_bubble-tea_followup

Bug 976846 - fix lint, r=me.
Bug 913782 - [Keyboard] Build time default keyboard selection work for
3rd-party keyboard support.
 - make build/settings.js read the default keyboard layout config

 Bug 920431 - [keyboard] keyboard_layout.json should be customizable
   - Refine to make it adopt the config in distribution package
   - Add a separate build step for shared/ folder - shared-makefiles.
Merge pull request #16607 from luke-chang/971458_instantiable_app_window_factory

Bug 971458 - [System2] Instantiable AppWindowFactory, r=alive
Bug 971473 - [System2] Instantiable CallForwarding

- update bootstrap_test
- add related tests for call_forwarding
- refactor call_forwarding
Merge pull request #16772 from EragonJ/bug-971473-bubble-tea

Bug 971473 - [System2] Instantiable CallForwarding
Merge pull request #16789 from RudyLu/keyboard/Bug920431_round2_toBubbleTea

Bug 913782 - [Keyboard] Build time default keyboard selection work for
r=yurenju
Bug 897352 - [gaia build system] Transition to a build_stage for assembling apps
Modify commit accroding by first round review