Adding support for previous === 0 for CRCs with initial seeds

In a project I need to use CRC16-CCITT with an initial value of `0x0` in the `crc` register.

Current implementation would always default if `0x0` was used, as `~~previous` evaluates to `0` being `false` in that case (maybe was intended to only check if `previous===undefined`).

Added a patch to support `0x0` as well as a new test for that.