mesa: rework vertex shader output / fragment shader input attribute matching
mesa: rework vertex shader output / fragment shader input attribute matching

Before, if a vertex shader's outputs didn't exactly match a fragment
shader's inputs we could wind up with invalid TGSI shader declarations.
For example:

Before patch:
DCL OUT[0], POSITION
DCL OUT[1], COLOR[1]
DCL OUT[2], GENERIC[0]
DCL OUT[3], GENERIC[0] <- note duplicate [0]
DCL OUT[4], GENERIC[2]

After patch:
DCL OUT[0], POSITION
DCL OUT[1], COLOR[1]
DCL OUT[2], GENERIC[0]
DCL OUT[3], GENERIC[1]
DCL OUT[4], GENERIC[2]

wolf96/glsl-optimizer,tokyovigilante/glsl-optimizer,dellis1972/glsl-optimizer,mcanthony/glsl-optimizer,dellis1972/glsl-optimizer,wolf96/glsl-optimizer,mcanthony/glsl-optimizer,adobe/glsl2agal,mapbox/glsl-optimizer,djreep81/glsl-optimizer,bkaradzic/glsl-optimizer,benaadams/glsl-optimizer,mcanthony/glsl-optimizer,metora/MesaGLSLCompiler,jbarczak/glsl-optimizer,wolf96/glsl-optimizer,metora/MesaGLSLCompiler,KTXSoftware/glsl2agal,mapbox/glsl-optimizer,metora/MesaGLSLCompiler,adobe/glsl2agal,wolf96/glsl-optimizer,zeux/glsl-optimizer,zeux/glsl-optimizer,jbarczak/glsl-optimizer,jbarczak/glsl-optimizer,KTXSoftware/glsl2agal,zz85/glsl-optimizer,zz85/glsl-optimizer,dellis1972/glsl-optimizer,tokyovigilante/glsl-optimizer,djreep81/glsl-optimizer,bkaradzic/glsl-optimizer,zeux/glsl-optimizer,zeux/glsl-optimizer,zz85/glsl-optimizer,benaadams/glsl-optimizer,djreep81/glsl-optimizer,zz85/glsl-optimizer,tokyovigilante/glsl-optimizer,jbarczak/glsl-optimizer,jbarczak/glsl-optimizer,benaadams/glsl-optimizer,djreep81/glsl-optimizer,benaadams/glsl-optimizer,adobe/glsl2agal,benaadams/glsl-optimizer,zz85/glsl-optimizer,bkaradzic/glsl-optimizer,dellis1972/glsl-optimizer,wolf96/glsl-optimizer,KTXSoftware/glsl2agal,zz85/glsl-optimizer,dellis1972/glsl-optimizer,benaadams/glsl-optimizer,mapbox/glsl-optimizer,mcanthony/glsl-optimizer,bkaradzic/glsl-optimizer,tokyovigilante/glsl-optimizer,mapbox/glsl-optimizer,adobe/glsl2agal,djreep81/glsl-optimizer,bkaradzic/glsl-optimizer,zeux/glsl-optimizer,tokyovigilante/glsl-optimizer,KTXSoftware/glsl2agal,mcanthony/glsl-optimizer,KTXSoftware/glsl2agal,mapbox/glsl-optimizer,adobe/glsl2agal