Implement feedback from Mark H. Weaver. Thanks!

Specifically:

+ Make sure to call setlocale so that our output encoding is consistent
  with the command-line input encoding.
+ Map the character escapes directly rather than building a Scheme
  string to read in.
+ Don't do character ordinal arithmetic, just use an alist to map it.

Along the way, I renamed the "echo" state to "initial", and made echo a
function to print the given character and jump to the initial state.