i965/fs: Avoid unnecessary recompiles due to WPOS bit of proj_attrib_mask.

Previous to this patch, when using fixed function fragment shading,
bit FRAG_BIT_WPOS of brw_wm_prog_key::proj_attrib_mask was being set
differently during precompiles and normal usage.  During precompiles
it was being set only if the fragment shader reads from window
position (which it never does), so it was always being set to 0.
During normal usage it was being set if the vertex shader writes to
all 4 components of gl_Position (which it usually does), so it was
usually being set to 1.  As a result, we were almost always doing an
extra recompile for the fixed function fragment shader.

The recompile was totally unnecessary, though, because
brw_wm_prog_key::proj_attrib_mask is only consulted for
fs_visitor::emit_general_interpolation(), which isn't used for
FRAG_ATTRIB_WPOS.

This patch avoids the unnecessary recompile by always setting bit
FRAG_BIT_WPOS of brw_wm_prog_key::proj_attrib_mask to 1.
i965/pre-Gen6: Don't rely on VERT_RESULT_HPOS <-> FRAG_ATTRIB_WPOS.

At present, the _mesa_vert_result_to_frag_attrib() and
_mesa_frag_attrib_to_vert_result() functions establish a
correspondence between VERT_RESULT_HPOS and FRAG_ATTRIB_WPOS.  This is
bogus, since the former is gl_Position and the later is gl_FragCoord,
which aren't in any way the same thing.

Only one piece of code relied on this clumsy correspondence--the
determination of which fragment inputs are present when computing the
urb_setup for pre-Gen6 fragment shaders.  This patch modifies the
urb_setup computation so that it always assumes FRAG_ATTRIB_WPOS is
present (because it always is).
mtypes.h: Add new gl_varying_slot enum, and bitfield defines.

Future patches will make use of the enum.  It will eventually take the
place of the existing enums gl_vert_result, gl_geom_attrib,
gl_geom_result, and gl_frag_attrib, all of which represent essentially
the same information but using inconsistent values.
mtypes.h: Modify gl_vert_result to refer to new gl_varying_slot enum.
Replace gl_vert_result enum with gl_varying_slot.
mtypes.h: Modify gl_geom_attrib to refer to new gl_varying_slot enum.
Replace gl_geom_attrib enum with gl_varying_slot.
mtypes.h: Modify gl_geom_result to refer to new gl_varying_slot enum.
Replace gl_geom_result enum with gl_varying_slot.
mtypes.h: Modify gl_frag_attrib to refer to new gl_varying_slot enum.
Get rid of _mesa_vert_result_to_frag_attrib()
Get rid of _mesa_frag_attrib_to_vert_result()
Replace gl_frag_attrib enum with gl_varying_slot.