+ Fixed shell32.dll hook issue in Steam client that prevented games from restarting


 + Ansel is automatically disabled in games that are whitelisted (many of them should not be).

     Although I cannot reproduce any compatibility issues whatsoever with Ansel, this was the
       most economical approach to solving rampant reports of Ansel crashing games.

    -- If, like me, Ansel doesn't cause any compatibility problems on your system, you may
         re-enable it from the Help menu.

 + Memory performance data acquisition no longer uses WMI

 + Added a Compact Working Set button to the thread widget, to reduce memory overhead;

     >> The ideal use-case would be prior to switching applications to Chrome or other memory
          intensive applications.
      > I may add an option to automatically do this on alt-tab in future versions

 + Added in-game link to PCGamingWiki for any Steam game (see Help menu)
 + Added resolution scaling preferences in terms of screen % to custom ReShade
 + Added an optional background framerate limit that applies when running in the background

 + Changed name of [SK] Primary Render Thread to [GAME] ... to clear up misconceptions that it
     is a thread created, owned or managed by Special K.

 + Fixed incorrect HDR detection in some Unreal Engine 4 games
 + Fixed buffer overrun when fetching > 384 friend achievements
 + Fixed mouse cursor auto-hide feature not actually auto-hiding in most games
 + Fixed achievements not unlocking in A Plague Tale: Innocence and possibly other games
 + Fixed issue preventing EULA from showing on screen if an assertion popup was triggered first
 + Fixed unresponsive text input in Special K's console when (to-game) input blocking is enabled
 + Fixed incorrect API auto-detect in many games if run for the first time with no config file in v 0.10.1
 + Fixed some games treating disabled keyboard input as though buttons were being held down constantly

   >> This problem only affects whether a game draws KB&M or Gamepad icons, actual gameplay is unaffected.

    > For future developer reference, if a game calls GetKeyState (...) and you wish to block it,
        the proper way to do this is to cast KF_UP to SHORT and then return it.

 + Refactored a ton of code to modern C++17, from what had been mostly C++ Duct Tape compliant code.

   >> This is an ongoing process, but the codebase needs all the new language features that
        I have been neglecting or it is going to collapse under its own unmanageable weight
          at some point.