This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
This is exposed in the GUI as a new "CiTrace Recording" widget. Playback is implemented by a standalone 3DS homebrew application (which only runs reliably within Citra currently; on an actual 3DS it will often crash still).