Added Keyboard class

Also refactored conversion methods in GTK backend