[v20.x] backport libuv wtf-8 decoding fix
This backports https://github.com/libuv/libuv/commit/d09441c to Node.js 20 to fix a long standing regression in the way filenames are handled on Windows. On Node.js 21 this was fixed by the update to libuv 1.47.0, but that version cannot be backported to Node.js 20 because libuv have dropped support for macOS <11 and we target macOS 10.15 for Node.js 20.