This performs shell expansion without field splitting. This fixes issues with
filenames containing spaces.
This commit also cleans up complicated logic to join fields and to set
XDG_CONFIG_HOME.
* The loop functions are now prefixed with `loop_`.
* It is now easy to add timers to the loop.
* Timers are implemented using pollfd and timerfd, rather than manually
checking them when any other event happens to arrive.
This starts up the event loop and wayland display and shims out the
basic top level rendering concepts. Also includes some changes to
incorporate pango into the 1.x codebase properly.