file io: restructure impl for disk and stdin file io
file io: restructure impl for disk and stdin file io

Combine disk and stdin file callbacks.
Separate low level msvc file i/o into a different set of callbacks.
Allow file pointer file i/o for msvc 2003 and before to support
stdin. No longer using low-level file i/o for stdin
Change isFIFO into iStream to support both fifo and
stdin/stdout/stderr
Rename position to streamPosition to make clear it is only valid
for a stream

stuarthicks/libmxf,ebu/ebu-libmxf,Limecraft/ebu-libmxf,stuarthicks/libmxf,stuarthicks/libmxf,ebu/ebu-libmxf,stuarthicks/libmxf,Limecraft/ebu-libmxf,Limecraft/ebu-libmxf,ebu/ebu-libmxf,ebu/ebu-libmxf