Hash Performance Improvement

Now using `hash_file` when appropriate, instead of always getting and passing the raw binary buffer data as a string.

This should not only improve the speed at which it performs due to less user-land work, but it should also greatly reduce memory footprint when used on larger images.