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

I don't think we should keep referencing a global object in a module, which makes testing not that concise.
Can we leverage "dependency injection" here, by passing Keyboards into LayoutLoader's constructor?