Move setting of PKG_CONFIG and WAYLAND_SCANNER to Makefile

This way a sane default will be used if none is specified in config.mk
Makefile: intel requires drm
buffer: Use safe list traversal when destroying exporters
wayland: Keep track of event queue and destroy when context is destroyed
wayland: Initialize context to NULL

This fixes a crash when called with WLD_ANY
Makefile: Remove redundant setting of ENABLE_DEBUG
wayland-shm: Use buffer map interface instead of mapping and then importing

This way the mapped memory gets unmapped correctly when the buffer is
destroyed.
buffer: Add user data/destroy function field
pixman: Handle image creation failure
buffer: Add damage field
Allow overriding of Wayland interface via WLD_WAYLAND_INTERFACE env var
wayland: Make sync_listener static
Add surface interface
Implement buffered surfaces
wayland: Add surfaces
wayland: Report damage to server on swap