1. Can't use HWSURFACE, as the code doesn't lock it.
Double-buffering with HWSURFACE would be an alternative but the
current game rendering code doesn't play well with it due to how it
updates the UI
2. RG350 screen is RGB, not BGR (my microscope flipped the image),
16-bit is the correct color depth.
jedisct1/libsodium decided not to maintain this, so rebase on
facebookincubator/fizz as that appears to be the defacto upstream now.
There are still a few differences that we should align and hopfully
upstream.
Start and Select are swapped in this version because Start + D-Pad controls backlight on the GKD350h.
There is nothing to map mouse emulation to in this version because of this but it isn't necessary to play the game.
This version looks uglier than on RG350 because it uses software scaling beacuse the IPU on the GKD350h doesn't work.
1. Move `project` before `check_ipo_supported`, so that the check knows
the languages to check.
2. Better error message if LTO is not supported.
3. Use a separate flag for LTO
4. Enable LTO for the nightly build.
5. Move git commands to a separate file.