pen: Implement WinTab support for Windows.
WinTab is Wacom's pen API. Documentation is here.
It's becoming apparent to me that we really should use this if it's available on a system, because it offers functionality that the WM_POINTER* events don't.
We'll just try to load the DLL at startup, and if it doesn't work out (Wacom's drivers haven't been installed), we'll just use the existing win32 events, and it might be Good Enough in general, and maybe that's all that works for non-Wacom hardware anyhow, presuming they didn't provide their own implementation of the API.
I'm optimistically putting this in 3.6.0, but this can bump out if we get swamped. It's 100% a nice-to-have that would make the current market leader's hardware work better in SDL, but we're not totally screwed without it.
Sadly, I have not kept good notes, but I would like to offer a word of caution against blindly preferring WinTab32 to native events. WinTab32 is an old API that I think is mostly considered to be on the way out, and drawing software is now preferring the WM_POINTER* events by default with optional WinTab32 fallback (e.g.: ClipStudioPaint has an option in settings, though it wrongly detects WM_POINTER* support by looking for GetSystemMetrics(SM_TABLETPC) IIRC). WinTab32 has weird behavior on machines with mixed DPI, it might be possible to deal with it, but I think it will be challenging. In addition, WinTab32 is implemented per-vendor, and there are many implementations of it, but there is no vendor dispatch mechanism, so if you happen to have multiple pen inputs on a machine, you will only have one WinTab32 driver. Maybe this seems like a very rare case, but an obvious scenario would be someone using a traditional graphics tablet on a machine that also has a touchscreen with pen capabilities, like a Microsoft Surface.
It is true, unfortunately, that there is some information that might only be available via WinTab32, though, but I think the vast majority of interesting information is available in WM_POINTER* events. There might be other tricks to get more pen and tablet data too, Windows has a lot of APIs...