Keyboard

Decided to remove the VirtualKeys enum and go with the
KeyboardLLHookStruct instead. Also added a few more comments. Everything
works as it should right now.

Thoughts on future improvements:

- Add more comments
- Make it multi-threaded, the library would be faster if we started a
new thread for the delegate method and returned the CallNextHookEx right
away.