Fixes compilation on Clang13.1 by backporting some C++20
features that aren't available in Clang and fixing
the CMake config. Note that this doesn't yet properly package
the app nor does anything work at this point.
jthread, stop_token, and condition_variable_any impls taken from
josuttis/jthread and appleCompat.h taken from Citra and modified by me.
On Linux, due to the way we include SDL2 as a submodule, it makes it
difficult for us to specify which SDL_config.h we intended to include.
Before, CMake would default to the dummy one included with SDL and
ignore the generated one.
This tells CMake to use the generated one. In addition, we define
USING_GENERATED_CONFIG_H to throw an error in case the dummy config is
used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
Unicorn long-since lost most of its use, due to dynarmic gaining support
for handling most instructions. At this point any further issues
encountered should be used to make dynarmic better.
This also allows us to remove our dependency on Python.