Bug 975963 - Split keyboard.js into instancable KeyboardApp() and boot.js +shepherd