feat(chat): Implement command history.

Access with arrow up/down. Stores 15 items in history. Escape key will empty the text box and reset the history index at the bottom.

resolves #10