Factor out almost all fs. and path. calls in the tool

This will be useful when we want to be smart with windows file paths later
Also, all of the file calls are asynchronous with fibers now, which comes with
many benefits.
`toPosixPath` is called only from Windows or on Windows paths. Windows doesn't use backslash to escape characters in paths. And even on mac/linux escaped characters appear as normal chars in a string representation (`\` escapes are for shell).