i965g: new pipe driver for Intel GEN6+

This commit just adds some boilerplate code.  The header files found under
include/ are copied from i965.
i965g: add debug flags settable through I965_DEBUG
i965g: hook up pipe_screen param and fence functions
i965g: add functions to translate pipe enums to HW enums
i965g: hook up pipe screen format functions
i965g: hook up pipe screen resource functions
i965g: add command parser

The command parser manages batch buffers and command submissions.
i965g: hook up pipe context flush function
i965g: add functions to manage shaders

This commits add shader cache, shader state, shader variant, and etc.  It does
not add the shader compiler though.
i965g: hook up pipe context state functions
i965g: hook up pipe context blit functions
i965g: hook up pipe context transfer functions
i965g: hook up pipe context query functions

None of the query types are supported yet.
i965g: add GEN6 GPE

GEN6 GPE (Graphics Processing Engine) is a low-level interface to emit 3D
commands and states.
i965g: add GEN6 3D context

The GEN6 3D context is a high-level interface to emit 3D commands and states.
It uses GEN6 GPE to do the real work.
i965g: hook up pipe context 3D functions
i965g: add support for time/occlusion/primitive queries
i965g: hook up pipe context video functions

This just hooks them up with auxiliary/vl layer.
i965g: hook up pipe context GPGPU functions

This just adds a stub.
i965g: add a toy shader compiler

This is a simple shader compiler that performs almost zero optimizations.  The
generated code is usually much larger comparing to that generated by i965.
The generated code also requires many more registers.

Function-wise, it lacks register spilling and does not support most TGSI
indirections.  Other than those, it works alright.