Change from `uread(0, c, 1)` to `read(c)`, so input goes through
libpc's buffer. If input is a tty in Unix, this reduces the number of
read(2) system calls from one per character to one per line.
This change will become necessary in CP/M when I enable the line
editor.
Unless it is packed, a Pascal char is a C int. Using C types, hilo.p
passed an int *buf to uread(), which expected a char *buf. Then
uread() wrote the char on the end of the int. This worked on
little-endian platforms. This failed on big-endian platforms, as
writing the value to the big end of an int multiplied it by 16777216.
The fix is to use a packed array [0..0] of char in Pascal. I also
change 'string' to a packed array, though this is not a necessary part
of the fix.