file_case: add read interface, extend abstraction..
Encapsulate I/O reads under the file_case surface in order to
implement a decompression layer that doesn't use external unpack
programs but instead directly uses and links against the libraries
which implement the decompression algorithms.
Add new file_case::mux_need_stdio (and ::fc_have_stdio) flags
which henceforth will be required in order to access the .file()
a.k.a STD I/O FILE* of an object, for those rare cases (only the
grn(1) gremlin preprocessor) where the file_case user needs a
FILE* for extended operations which we don't support in file_case,
e.g. fscanf(3).
This also fixes an obviously faulty ungetc(3) in
src/devices/grops/psrm.cpp, line 834 (before patch; c->cc).
14 files changed: