* Movies: Fixed missing input recording/playback for the first frame after power cycle
This didn't cause any obvious issues, because it would only matter if a significant button was pressed during the first frame. But when exporting a movie from the history viewer, the first frame's input was actually part of the .mmo file, causing every input to be offset by 1 frame when the movie was played back (which caused desyncs). The movie recording/playback was initialized too late, after the first frame's input was initialized, causing it to be skipped entirely. Using the new "AfterInitConsole" notification, which is triggered slightly earlier, instead of "GameLoaded" allows the first frame's input to be recorded/played properly
This also fixes a rare emulator crash that could occur when you power cycle while letting go of the rewind button at the same time (that I triggered by rewinding while the movie was playing a frame that had a power cycle input)
* Fixed more desync issues (when recording movies from "current state", and when exporting movies from the history viewer)
* Fixed warning
* Fixed backward-compatibility with movies recorded before these fixes
* Code: Add auto-formatting rules for C++ projects (clang-format) and enforce code style via "clang-format" and "dotnet format"
* fix ui format warnings
This could potentially cause desyncs on subsequent rewinds, but most obviously it caused rewinding during movie playback to break movie playback entirely (because some inputs were handled by the rewind, while others were handled by the movie, causing the _deviceIndex value to be out of sync with its expected value)