render: Rework SourcePict definition
Make it a union of pointers to the source picture structs (and a new base struct with just the type), instead of a struct with the base type and a union of the source picture structs.
Avoids compile errors with GCC 12 due to array bounds checks.