Fix a memory leak in libGLdispatch

In __glDispatchMakeCurrent, it allocates a
__GLdispatchThreadStatePrivate struct, which would normally get freed in

However, if the library gets unloaded while another thread still has a
current context, then __glDispatchLoseCurrent never gets called, and so
that memory leaks.

Add the __GLdispatchThreadStatePrivate to a linked list so that it can
free any remaining structs in __glDispatchFini.

Fixes glvnd/libglvnd#230.
14 jobs for fix-gldispatch-thread-state-leak in 1 minute and 44 seconds (queued for 3 seconds)