i965 Gen6: w/a for int/uint gather4

The gather4 message only returns correct data for two of the texels. For
2D samplers (not cubes) we can do a pretty good w/a: issue a second
gather4 with a tweaked offset, and shuffle the other two texels into
place.

For cubes, we will have to do something else, since texel offsets are
not supported with that surface type.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>