[RFC] refactor use of access() into `os/fs.c`

It seems that there is no version of `access()` in `libuv`, so I use this function directly in `os/fs.c`. At least this function is not used anywhere outside the os abstraction layer.