Bug 1047645 - Use manual timeout to guard _closed event from not firing r=alive

Patch for v1.4.

Conflicts:
	apps/system/js/app_transition_controller.js
	apps/system/js/app_window.js
	apps/system/test/unit/app_window_test.js
	apps/system/test/unit/lockscreen_window_test.js
Merge pull request #22967 from KevinGrandon/bug_1031225_cherry_pick_bug_1047645_to_v1dot4

Bug 1047645 - Use manual timeout to guard _closed event from not firing