wasm: fix zlib cross-compilation
zlib doesn't cross-compile cleanly to wasm:
* gzguts.h only `#include <errno.h>` when NO_STRERROR is unset, but
gzread.c / gzwrite.c use errno / EAGAIN / EWOULDBLOCK unconditionally.
zlib's configure probes strerror by compiling *and running* a test, which
can't run when cross-compiling to wasm, so it defines NO_STRERROR (even
though wasi-libc has strerror) and the gz* sources fail to compile with
"use of undeclared identifier 'errno'". Always include errno.h.
* zlib sets NIX_LDFLAGS = "--undefined-version" whenever the linker is lld
(to counter lld 16+'s --no-undefined-version default for its shared-lib
version script). wasm-ld is lld-based but rejects that flag, and we build
static anyway, so drop it.