Fix `crypto` support detection doesn't work with jest
Fix `crypto` support detection doesn't work with jest

Some testing framework define a global `window` object but not necessarily `window.crypto`.
That's the case of Facebook's Jest. ulid should use Node's `crypto` module even when `window` is defined
but `window.crypto` or `window.msCrypto` are not defined.

alizain/ulid,alizain/ulid