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.
* this resolves the todo items in the CMakeLists.txt
* a version requirement check for ffmpeg is added to catch issues early
* for future-proof reasons, nasm/yasm is now only required when build on
x86/AMD64 systems
6b6b9e593d does not exist on FFmpeg master, and tag n4.3.1 requires
manually fetching all of FFmpeg's tags. `git` reports that the commit
does not exist initially and can be confusing as a result. Instead,
checkout the immediately previous commit from n4.3.1 on their master
branch.