EmojiChar.to_s can output either variation or not
unified to char should pass directly through

since its a conversion method, don’t do a lookup, just convert based on
rules.  this means we won’t canonicalize in this case, but we probably
shouldn’t, people want to just be able to call and not have something
unexpected happen.

as part of this, also break the method out into a static class method
in EmojiChar so it can be reused.