ci: Fix random i965_asm & glcpp test timeouts
The meat of this MR is changing the
glcpp test runner python scripts to use pipes instead of tempfiles for communicating with child processes. I don't really know Python and have never made this extensive changes to Python code before, someone who knows it well should make sure I didn't do anything silly. FWIW, I don't see anything on https://docs.python.org/3/library/subprocess.html?highlight=subprocess#subprocess.Popen to suggest this wouldn't work on Windows.
There are also fixes for other issues I stumbled over while working on this:
- The standalone
glcpptool used uninitialized members of the GL context struct.
glcpp valgrindtest wasn't actually working as intended (in hindsight this was pretty obvious from the fact it only took marginally longer than the other
glcpptests :). I'm on the fence about this test: It takes orders of magnitude longer than any other meson test, and I'm not sure it provides enough benefit for that. But it did catch the previous issue, which I wasn't able to catch with ASan instead.
Finally, revert the previous workarounds for the test timeouts.