mesa: GL dispatch & display lists cleanups, glthread matrix stack tracking & async glGet & glthread display list execution
This removes the last glthread synchronization stalls happening with SPECviewperf13. It's done by tracking matrix stack states, which allows executing glGetInteger for those states without syncing.
glthread also learns how to execute display lists asynchronously, so that glthread keeps track of state changes caused by display lists.
There are also some non-glthread display list and GL dispatch cleanups and glthread cleanups.
Future work: More GL dispatch cleanups, remove GLvertexformat.