Added a keyboard manager that handles adjusting the screen to preven the software keyboard from obscuring text views being edited.