allow shaders with more outputs than the framebuffer

(at least in mesa) when drawing to a framebuffer (eg the default),
if the framebuffer has fewer texture attachments than the shader has
outputs, the output that will be written to the FB is the one with
output location 0. Unfortunately Mesa also orders output in descending
order (eg, the last declared is bound to location 0).