Decode a single character code starting at offset in bytes; returns the (text, advance-in-bytes) pair, or null if no ToUnicode mapping exists for the segmented code. Segmentation is codespace-driven so mixed 1-/2-byte streams are split correctly.