Bug 1041411 - Create KeyboardApp and replace fakeAppObject +shepherd

We could remove this function with your help to clean up the code a lot.
Thanks.