Store compose value in a single variable
Storing the high and low bits of a Unicode character separately seems to have been a workaround for some problem in the distant past. There doesn't seem to be any reason to continue doing it, and getting rid of the indirection will make it easier to refactor this code to solve #186 (closed) and other issues.