mesa: Returns error if glGetShaderSource is called with negative bufSize

The manual page for glGetShaderSource state that a GL_INVALID_VALUE is
returned if bufSize argument is less than zero. See
https://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderSource.xml and
https://www.khronos.org/opengles/sdk/docs/man31/html/glGetShaderSource.xhtml
for reference.

This fixes 1 dEQP test:
* dEQP-GLES3.functional.negative_api.state.get_shader_source