Winelib is there to:
- provide Windows headers, to keep those DWORDs etc. defined
Yes, but so does MSVC.
- implement Windows APIs in terms of Linux as much as possible -- to keep those
CreateFileWs going, to avoid changing every single 'Sleep' to 'sleep' "just because".
Winelib doesn't do that. It uses the same implementation of the Windows API that is in Wine.
Perhaps the io-layer aka libwapi library in Mono is closer to what you describe, but that is very limited and only intended for internal use in Mono.