Add keyboard.h

Begin implementing keyboard support
Massive bug fixing in IRQ and Keyboard handlers