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