Re-invent FS.VFS.Open()

Handle the path traversal and symbolic links in VFS.Open(). For each
path component, query the file type (directory, regular file, or
symbolic link) from the FS driver and act accordingly.
diff --git a/src/filo-fs.ads b/src/filo-fs.ads
index 183b1f7..a09df7c 100644
--- a/src/filo-fs.ads
+++ b/src/filo-fs.ads
@@ -5,6 +5,8 @@
 
 package FILO.FS is
 
+   type File_Type is (Dir, Regular, Link);
+
    type File_Length is range 0 .. int'Last; -- Should be higher, fix FILO first
    subtype File_Offset is File_Length;