Improve Xwayland spawning
Currently, asc checks /tmp for unused .Xn-lock files, before spawning Xwayland with that display number. This is extremely vulnerable to race conditions, as an X server could start in the gap between checking the files and starting Xwayland. What's more, Xwayland has a bulit-in way to solve this: The -displayfd option.
I've tried a few times to get something working using -displayfd in Lua, but I'm running into a heisenbug: my code works fine when run interactively in a Lua REPL, but not when run in the asc config file.
At some point, I'll try to write a prototype for this in C, which may fix the issue. However, I'd rather keep Xwayland stuff out of the core, to improve tweakability and flexibility. There may come a time when we don't need Xwayland, for example, and I'd rather not have to patch asc to deal with that. Keeping all Xwayland-related stuff in the config resolves this.