@huw I'm not sure this is the best way to fix this. Another option is to use `get_dc_obj` instead of `get_dc_ptr` to access the DC object in `get_dc_opengl_drawable`/`set_dc_opengl_drawable`, but the function is static and I felt that exporting it would make things more confusing. I could also move the `dc_opengl` functions to dc.c, though I would prefer to keep GL stuff together.
Note that I'm also a bit lost in the DC/dce logic, their lifetime, and how they get reused. Using them to hold the GL surfaces was a convenient way to replace the drivers DC/surface tracking but it's maybe not the best way.