GSP: Implement ReadHWRegs and WriteHWRegs properly.
GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY.
GPU: Add display transfer configuration.
GPU: Properly implement display transfers.
GPU: Add proper framebuffer register handling.
GPU: Emulate memory fills.
GPU: Initialize GPU registers to some sensible default state.
GPU: Interface cleanup.
Renderer: Add a few TODOs.
Renderer: Respect the active_fb GPU register.
Renderer: Fix component order in bottom framebuffer.
GPU: Make framebuffer code format-aware.
GPU: Make use of RegisterSet.
RegisterSet: Simplify code by using structs for register definition instead of unions.
GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32.

Anonymous structs are not standard C++, hence don't use them.
GSP: Add a few comments.
GPU: Add documentation.
GPU: Clarify display transfer code.

Also makes the illogical component order more obvious.
Fix a few warnings.

Templates shouldn't be marked as inline if they aren't defined in the header.
Use uniform formatting when printing hexadecimal numbers.