Fix IOInputStream single-byte read

Java does signed type conversions by default. Thus, any bytes above 127 resulted in negative return values, which where either illegal return values or signifying end of file.