maintain size of datatypes in XS cross-platform

Use the C99 types `uint16_t` and `uint32_t` instead of unsigned short and unsigned longs for the size-sensitive datatypes in AM.xs. Hopefully this will make things work on *nix 64-bit. See http://stackoverflow.com/questions/384502/what-is-the-bit-size-of-long-on-64-bit-windows. See issue #2.

Note that now C99 is required to compile AM, though this is not yet made explicit.