glthread: implement glGetUniformLocation without syncing
We already have the infrastructure for querying shader program properties without syncing. This just uses it. _mesa_error_glthread_safe sets a GL error from the producer thread.
This decreases CPU overhead for viewperf/snx.