* Fix handling of Unicode paths on Windows
I love C++
* Reduce the amount of reinterpret_casts
* Okay? Don't commit the file CLion? Why not?
* Fix texture replacements too
* add ability to set path of card image before CARDInit
* begin work on updating card class to support gci folders
a lot of work will just be directly reading from whatever folder is supplied, instead of relying on an always open FileIO handle
* swap to interface system for easier code seperation, begin actually planning out logic for gci loading
* fix wrong name for func, add modified time to new gci file entry
* get gci folder working
tp seems to be happy with everything ive done, the only funcs im worried about are getSerial and getChecksum as those dont do anything atm.
* fix createFile not assigning file index to output FileHandle, CARDSetLoadType now takes an enum
* make probeCardFile a virtual func so GciFolder and RawFile can both implement their own, bit of cleanup
* add ability to set path of card image before CARDInit
* add missing func to osx/linux variant of ResolveDolphinCardPath
* remove format specifiers in formatting funcs
* missed some oops
* refactor card loading to allow loading slot A and B if present
if neither slots have card images, a slot A image will be created at the save directory
this commit also changes card image names to "MemoryCardA/B.USA.raw" to fit with dolphins naming conventions (region code will always be USA unless changed in the macro, which could eventually be changed to be something in aurora config)
* only remove file name from CARDSetBasePath if not a directory