Detect and use SDL2 with help of this Dolphin CMake module:
https://github.com/dolphin-emu/dolphin/blob/master/CMakeTests/FindSDL2.cmake
Look for SDL_gamecontroller.h instead of SDL.h to prevent CMake from
using SDL1 include dirs
Update to SDL2
Update native submodule
Merge branch 'master' into sdl2

Conflicts:
	native
Avoid crashing when calling an invalid address.

We already have a check, let's use it properly.
Remove incorrect atrac decode ptr nullcheck.

Already shown in decode test to be valid.
Skip samples in the first chunk of atrac output.

This seems to be what the PSP actually does, although not sure.  The first
result is always smaller by this amount (numerous atrac files tested.)
Correct the dataOff member of atrac context.
Add breakpoints to most sceAtrac mem access.
Fix seeking in atrac after the start.

Not sure the very start is right though, arg.
Return the correct next sample at the beginning.
Clamp the final sample count during decode.

Some games depend on / expect this, or else they'll let important data get
overwritten.
Add extra frames if we run out of atrac data.

We could probably insert frames instead for GHA phase shifting, but this
will solve other bugs too, I think.
Correct the end from sceAtracGetSoundSample().

I think it's meant to be the last *valid* sample.
Merge pull request #6935 from unknownbrackets/atrac-minor

Try to match the initial atrac decode size
d3d9: Emulate some logic ops with blending.

This makes Brave Story's intro visible.  Also add for GLES2/GLES3, but
doesn't seem to work on GLES2.
gles: Avoid pow(<= 0, 0) entirely, undefined.

Should work on more driver versions.  Fixes #6941.
Merge pull request #6942 from unknownbrackets/gpu-minor

gles: Avoid pow(<= 0, 0) entirely, undefined
Merge pull request #6940 from unknownbrackets/blend-logicop

d3d9: Emulate some logic ops with blending