allow shared file opening when using secure CRT functions
https://discord.com/channels/310192285306454017/1230730290650026055/1230929459574607952
fopen_s and _wfopen_s cannot open files already opened by another piece of code.
The
fopen_sand_wfopen_sfunctions can't open a file for sharing. If you need to share the file, use_fsopenor_wfsopenwith the appropriate sharing mode constant
This switches them out for _fsopen and _wfsopen, which also don't generate the secure CRT warning and support opening files already open by another piece of code. These are Windows only, so fopen_s is still used if WINVER is not defined, but the likelihood of that happening and __STDC_WANT_SECURE_LIB__ being defined is minimal.
The need for opening files in shared mode stems from the blueMSX core holding a write lock on a dsk file so it can potentially modify it. The core should not be modifying the original dsk file. Instead it should be creating a copy to modify (see https://github.com/libretro/blueMSX-libretro/issues/134).