Use special syntax for control key codes rather than hardcoded ordinals

Ruby has an obscure syntax for representing control+letter keycodes as a literal.

You might want to consider using this for ^C, ^N, ^P and ^W. I don't know how to represent delete, so I've left it as is.