Add nihstro (a 3DS shader tools suite) as a submodule.
Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones.
Pica/DebugUtils: Replace duplicated SHBIN structures in favor of nihstro's ones.
Pica/VertexShader: Support negating src2.
Pica/VertexShader: Some cleanups using std::array.
Pica/VertexShader: Move code around a bit.
Pica/VertexShader: Add support for MOVA, CMP and IFC.
Pica: Add support for boolean uniforms.
Pica/VertexShader: Implement MAX instructions.
Pica/VertexShader: Run instruction handlers according to the effective opcode.

This allows for proper emulation of the different CMP/LRP/MAD instructions.
Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions.
Pica/DebugUtils: Make a number of variables static.

Makes for cleaner and faster code.
Pica/Rasterizer: Get rid of C-style casts.
Pica/DebugUtils: Better document LookupTexture.
Pica/DebugUtils: Fix two warnings.
Pica/DebugUtils: Further cleanups to LookupTexture.
Pica/VertexShader: Clarify a comment.
Pica/VertexShader: Be robust against invalid inputs.

More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that.
Pica/VertexShader: Small optimization.
Pica/VertexShader: Promote a log message to critical status.