v3: Add some tests, (partially) implement both wglCopyContext and wglShareLists, enough to fix "Eador. Masters of the Broken World".
This removes glxCopyContext usage, which was broken and causing X errors as soon as the contexts are modified, and implements our own GL state tracker. EGL and macOS don't have anything like it anyway.
For now only a couple of attributes are tracked, based on that game usage, as tracking the entire context state would be very large. FIXMEs are printed for unsupported attributes.