This was almost a no-op, except we intern JS exception messages. So the bulk of this patch is porting exception messages to UTF-16.
to_color
ColorResolutionContext