Handle binary files

Fixes #58.

Sorry this took so long.  I tried coming up with a Gloss example but what I came up with wasn't really any simpler than the more straightforward example provided.

This is as idiomatic as I could make it; others may have ideas for improvements.  Everything has been tested at the REPL.