WIP: don't allow non-flat varying structs containing integral types.

May also fix problems with varying arrays of non-ints, need to check for sure.

I don't want to send out this patch until we've resolved the question
of whether Mesa should be checking this on vertex shader outputs,
fragment shader inputs, or both.