Chrome encodes/decodes based on user terminal

Uses Term::Encoding heuristics to identify the terminal encoding
and encodes prompts/defaults and decodes responses.

Related to #231, #222, and #212