Track file position for progress and peekahead

I use this with CSV to show progress.  The CSV library also uses it during auto-detection of terminators.