Added frame callback implementation to support changing buffers
Added null check against surface from wayland
Removed the + 8 modifier from keycodes
Removed double keyboard handle
Added modifiers to keyboard