patch the libuninum library

`unicode.h` defines a typedef for the UTF-32 encoding as `unsigned
long`, but the `sizeof(unsigned long)` on 64-bit machines is 8 (64
bytes), not 4 (32 bytes). This patches the header file to use `uint32_t`
instead.