add shell surface event handlers and improve input format
scanner: check if object passed to wrapper is null
add egl backend and draw something in the window