Fix swapped 32bpp RGB order with latest firmware
Recent firmware versions have fixed the FBSetPixelOrder mailbox property so that it actually works: https://github.com/raspberrypi/firmware/issues/1320
The new behaviour of FBSetPixelOrder is that it essentially inverts the framebuffer_swap setting. Unfortunately for us BCMVideo has historically specified a FBSetPixelOrder value of 1, meaning everyone's config.txt files (which specify framebuffer_swap=0 to get &BGR ordering for 32bpp modes) are now seeing 32bpp modes as &RGB instead.
Fix the issue by adjusting BCMVideo to read the configured framebuffer_swap value via vcgencmd so that it can calculate the correct FBSetPixelOrder value to use.
Also now that FBSetPixelOrder works, we can enable the ControlRGB build option, to allow software to select either &RGB or &BGR ordering via the mode flags. However the code doesn't attempt to detect old firmware versions where FBSetPixelOrder is broken, so requesting a &RGB 32bpp mode while running on old firmware will result in a broken (red-blue swapped) display.
Tested on RPi 4B with latest firmware.
Fixes issue reported on forums: https://www.riscosopen.org/forum/forums/4/topics/19344