Add support for Valve FS to natives that use file handles

Drifter did a large start of this, and I've recently revived it. It's still a bit of a work-in-progress, but most or all feature-complete. (all of the file-related natives should be done. Directory-related natives and LogToOpenFile are untouched).

The goal is to make more operations possible with files via Valve FS since Valve search paths and vpks are being used more and more.
I'm not sure if `FileExists` will reliably return `false` immediately after deletion on Windows.