Fix cachebusting for png

It seems there's an issue where the fingerprint of a PNG file will always be 658e8dc0bf8b9a09b36994abf9242099, due to the way File.read works (see https://groups.google.com/forum/#!topic/asciidoc/SUsR8GcqZ08). This commit changes fingerprint_file to open the file in binary mode.

Note that this CL has the possibility of messing up peoples' existing workflow. Perhaps some additional logic can be done to avoid touching existing text files.