Make EntityEncoder based on Show explicit.

Show is overly broad, and may render things that don't make a lot of
sense as an entity (e.g., `\/`).  We keep the encoder for its
contramap, but only use it explicitly.
Is sending a single char or byte common? Just curious. I've never thought of them as useful in packages of 1.