create c++ headers from wayland.xml protocol

some changes are needed for the library to compile
in ShellSurface class Seat needs to be instantiated
and the display interface needs to be copied manualy
from wayland-client.h
build: detect changes in library and rebuild if needed
scanner: emit enums from protocol to classes
fix ShellSurface dependency on class Seat
cleanup Global.h initializations
build: run scanner before build to generate headers

If scanner.py changes waf can't detect it so we have to run it manualy like
./scanner.py protocol/wayland.xml src/wlplus
add input class to handle keyboard and pointer events
fixed object passing in methods

there needs to be implemented some error checking because if we pass a null pointer the program segfaults
one way to do it would be to put an inline if statement for every object in the generated headers
add .gitignore files
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
Merge pull request #1 from ricardo-vieira/wlplus-scanner

Wlplus scanner