(Prematurely? :P) optimized readColors

Instead of using four bytes (and ignoring the first nibble of two of the
bytes), the method only uses three bytes, with the middle byte
containing the last nibble of the index and first nibble of the value.