Fix warnings on 32 bit systems

- Change format specifiers to not make assumptions about integer and
  size_t sizes
- Change audio hash function to shift a different amount based on
  sizeof(size_t)
also, @mic-e, multiply with 8 and divide by 2 sounds like *4 to me