Bug 1015643 - Unify layout activation to updateCurrentLayout() and use LayoutManger & Loader +shepherd

Can we split this module out to be a separate file?