Add CAF::FileReader for read-only file accesses

Fixes #53.