Improve pseudo filesystem

1- `auto_register_file` has been replace by the following:
one can now register callbacks to autoload missing files in a specific directory
```
Sys_js.register_autoload "/mypath/" (fun filename -> get_some_content ..)
let i = open_in "/mypath/a/b/c.txt"
```
2- implement : `Sys.getcwd`, `Sys.chdir`, `Sys.readdir`, Sys.is_directory`