* refactor: Change OpenImageFolder to use a winapi call
It will open the given file in any existing explorer instances instead of opening a new shell every time, handle longer paths, and work with third-party filesystem viewers with winapi hooks(well, this one).
* feat: Add an automatic app launcher
The launcer will automatically launch apps in the 'startup' folder under the VRCX appdata folder when VRChat has started, and close them when VRChat dies(or is closed).
* refactor: Add new class for monitoring VRC processes
This replaces the old AppApi functionality that would poll all processes twice to grab the status of both VRChat and vrserver.exe every... *checks app.js* 500ms.
It also raises events for when a monitored process is started/closed, mainly for the new AppLauncher feature, which is now using this class instead of monitoring vrchat itself.
* refactor: Add tooltip for launch folder button
* docs: Add some notes on potential issues with Process.HasExited
* Change CheckGameRunning from polling to events
---------
Co-authored-by: Teacup <git@teadev.xyz>