Add Keyboard functions

The following keyboard functions will be added

- TypeText
- PressKey (override)

The PressKey function has been modified to simulate human typing, i.e holding the keys down for a random time, and also the delay between pressing keys. This is an improvement over the original PressKey function as it does not send a keyDown, keyPress and KeyUp events the same way as a human would using a keyboard.