fix/improve/rewrite zink's pointsize clobbering
this rewrites the existing mesa/st handling to be more streamlined:
- for shaders in ES contexts, automatically set pointsize=1.0 during preprocessing if pointsize is not allowed to have another value
- if pointsize from API is used, clobber any existing pointsize
- avoid adding pointsize to a shader if it would overflow the maximum components a driver can handle
also fix a missing case in nir_gather_info which otherwise breaks maximum component checks