open/write filehandles using raw bytes

When the Static app would read/write an image, we would get a bunch of
warnings of characters not mapped to UTF-8. Now, if we're using a
filehandle, we assume raw bytes.

Also added some notes in the docs about how encodings are handled. We
can't just silently try to Do The Right Thing. We need to tell the
developers what we're doing so that they can figure things out when they
go wrong.

Fixes #171
fix site altering raw file content with base URL

The site needs to detect filehandles from Page->render() and pass those
through completely unaltered. This was showing up as "GLOB(0xETCETCETC)"
in the file instead of the content we expected.