Add generic resource system
Make layouts use resources
Use own linked-list implementation

This makes the list stuff match in style better.
Style (use member initializers)
Avoid duplicating code in {next,previous}_layout
Style
Use static layout structs for layout modules
Begin separation of X11 related stuff
Remove X11 stuff from velox.c
Remove leftover loop iterator
Make setup static
Switch to epoll
XCB sets CLOEXEC, no need to close connection when spawning
Use xkbcommon to parse keysym names