Fixes #2317
Still need to add some missing headers and an AUTHORS file. See #1646
LazyFileReader is an io.Reader implementation to postpone reading the file contents until it is really needed. It is introduced for improving performance and memory consumption at reading media files in content directory.