win32: Add SystemMediaTransportControls support
Implements #25258
This adds a module win_smtc which implements SystemMediaTransportControls integration for Windows, and a config option smtc to toggle this (enabled by default).
Implementation notes
This uses C++/WinRT to consume the WinRT APIs needed. As partial mingw-w64 support (recent GCC and Clang, requires C++20) has recently been added to upstream cppwinrt, it is now functional enough to handle the simple APIs of SystemMediaTransportControls. A copy of cppwinrt headers is downloaded in contrib.
Implemented functions
- Play / pause / stop / prev / next buttons (tested on Windows 10 with native UI and ModernFlyouts)
 - Fast forward / rewind buttons which are supposed to jump using 
"medium-jump-size"(untested as nothing seems to use it) - Auto repeat toggle (tested on Windows 10 with ModernFlyouts)
 - Shuffle toggle (tested on Windows 10 with ModernFlyouts)
 - Timeline display and seeking (tested on Windows 10 with ModernFlyouts)
 - Media metadata display including album artwork (tested on Windows 10 with native UI and ModernFlyouts)
 
Unimplemented functions
- Channel up/down buttons
 - Playback rate setting
 - Record button