Pack signed codes into a compact byte array.
Codes are biased to unsigned range before packing: stored = code + 2^(bits-1)
Packed byte array
Signed codes (values in -maxCode, maxCode)
Bits per code (2, 3, 4, or 8)