On Windows, this calls parsePathWindows and on POSIX it calls parsePathPosix.
Returns a platform-specific struct with two fields: root and kind.
The root will be a slice of path (/ for POSIX absolute paths, and things
like C:\, \\server\share\, etc for Windows paths).
If the path is of kind .relative, then root will be zero-length.
pub fn parsePath(path: []const u8) switch (native_os)
pub fn parsePath(path: []const u8) switch (native_os) {
.windows => WindowsPath2(u8),
else => PosixPath,
} {
switch (native_os) {
.windows => return parsePathWindows(u8, path),
else => return parsePathPosix(path),
}
}