Step 1: Go back to a single control map.

Break save/load for now, it will be redone.
Step 2: Multiple inputs can be mapped per psp key now, and save load works.
Copy NullGpu to SoftGpu.
Add an option for enabling software rendering.
softgpu: Dummy implementation for CopyDisplayToOutput.
softgpu: Clean up.
softgpu: Add transform pipeline functionality.
softgpu/TransformUnit: Implement remaining coordinate system transformations.
softgpu: Use existing VertexDecoder/VertexReader to add vertex decoding support.
softgpu: Add vertex position transformation code. Seems to be doing something, even though it's not the right thing :/
softgpu: Add line drawing. (yep, transform code definitely doesn't work.. :p).
softgpu: Fix some bugs, committing stuff before it breaks again...
softgpu: Working vertex position transform!
softgpu: Cleanups.
softgpu: Move around some code to keep SoftGpu.cpp clean.
softgpu: Move triangle rasterization code to a new file.
softgpu: Implement filled triangle rendering.
softgpu: Texture coordinate support and something like ARGB4444 texture support.
softgpu: Working ARGB4444 texture support.
softgpu: Implement almost working polygon clipping and fix some bugs.