XXX core nir changes
XXX nir print changes
XXX glsl-to-nir changes
XXX nir lower variables changes
XXX uniform load hack

Remove this after Matt's series is in.
i965/fs: don't pass through the coordinate type

All we really need is the number of components.
XXX front facing hack

remove this once Matt's series lands too
i965/fs: fix integer textures with swizzles

This happened to work before, but it would convert the output to a float
and then back to an integer which seems bad.
i965/fs: be more careful about types when emitting textures

The code before worked when we set the correct type for inputs to
texture instructions, but with NIR we don't have type information so we
can, and do, load the coordinates with the "wrong" type - this shouldn't
matter, because for the most part all we're doing is moving bits around.
Make sure we do the right thing by correctly setting the types to the
moves and integer divide.
i965/fs: add a NIR frontend

This is similar to the GLSL IR frontend, except consuming NIR. This lets
us test NIR as part of an actual compiler.