Add xserver protocol files to .gitignore
drm: Move initialization from compositor.c to swc.c
Remove unused region
Rename surface_class -> view, move to view.h
Move rendering code to compositor.c
Move compositor view to compositor.c
xkb: Use posix_fallocate instead of ftruncate
view: Add initialize/finalize functions
Move surface state into compositor view

Now, each composited surface has its own view.
Port to new wld API

This temporarily drops SHM support.
Add shm context/renderer
Use common buffer struct
surface: Use swc_buffer instead of wl_resource in state
view: Add event signal and frame events
view: Make functions take a view instead of a surface
Use swc_rectangle instead of pixman_rectangle32_t
compositor: Remove unused output code in create_surface
Implement screens
Move common state to swc_view
Refactor planes