Add some code to do platform-independent path processing. This is necessary aas WASM does e.g. not have any absolute paths and such and the compiler tended to produce wrong results in that case. Side-effect: We no longer need to depend on `dunce`