Tab Command Completion and Command History

Type the beginning characters of a command, hit tab, and see the list of
possible commands starting with that (intelligently autocompletes to
match the smallest substring that all commands begin with).  If only one
possible command exists, it types that command and a space.

When commands are entered, they are added to a list of historic entries,
which can be called up by hitting up/down arrows.

Also, fixed the bug where the backtick character would show up in the
console when it was opening sometimes.  Might be a better way to
implement that though.  Just delete the Update function if you don't want that, and everything else is fine.