This rewrites the test harness internals and adds test program boilerplate to:
meson.build file into the test
.c files themselves to make the tests self-contained for easier setup, understanding, and running.
fork() in the test harness completely to make debugging easier, which means that
wet_main() instead of fork & exec, and the function returns when the compositor exits, and
Test harness documentation is added in the forms of prose in Sphinx and Doxygen comments, except for the client helpers which are untouched by this MR.
After this MR, you can execute any test you want by simply running its executable program from the build
tests/ directory. That makes it even easier to run with GDB or Valgrind than with Meson wrappers.
This is to address #289 (closed).