Various file handling cleanups.

Add a class to wrap an InputStream into something seekable for
MuPDF rather than pre-loading the entire file into a buffer.
If the input stream is not seekable, we may end up pre-loading
the entire file anyway, but by using a BufferedInputStream.

Use the ContentProvider to get the mime-type, file name, and
file size used as a hint to the input stream wrapper.
3 files changed