FILO.FS.VFS: Close currently open file before opening new one

This is what FILO's current behavior implies (->close_func doesn't
get called).
diff --git a/src/filo-fs-vfs.adb b/src/filo-fs-vfs.adb
index 02e4c52..31abf65 100644
--- a/src/filo-fs-vfs.adb
+++ b/src/filo-fs-vfs.adb
@@ -154,6 +154,10 @@
          return;
       end if;
 
+      if Is_Open (State) then
+         Close (State);
+      end if;
+
       Str_Cpy (Path (1 .. Path_Len), File_Path);
       Path (Path_Len + 1 .. Path'Last) := (others => ' ');