Work on filesystem api

ghcjs-base is a little janky, I might work
on a better API on top of it