use calloc to get a zero memory block instead of a memset loop

improves performance of small compressions by up to 40% with compilers
that can't optimize the loop to a memset