frontend: sizeof(char) is 1

Long gone are the architectures where it didn't hold.
Type fixes

* unsigned short -> uint16_t
* short -> int16_t
* unsigned char -> uint8_t