Reduce memory consumption when digesting a huge file.

Current version of digest() method uses `slurp_raw()` to add content
to `Digest` object(sorry, it was my fault). If you tried to digest
with a huge file, then your memory will be used excessively as your
file size. This patch solve the problem by reading 4KB unit each time.