Change certain CPP conditionals into C conditionals, which should be possible for the compiler to optimize at runtime. This makes the source code easier to read.
Technical changes:
* Factored out file specific information from the file descriptor
structure into a new file structure.
- Useful file metadata can be stored after the file is closed.
- File descriptors become much smaller.
- Significantly reduces the need to scan for the file end.
* Use correct types in all function signatures.
* Removed the directory cache.
Results:
* Enormous speed increase when opening cached files (10x-20x.)
* Multiple fd:s pointing to the same file have the correct semantics.
* About 100 bytes smaller ROM size.
* Slightly smaller static RAM size.