Console input history navigation overhaul

* Moved the Console input history into its own class and renamed its
members
* Fixed a few glitches with the Console input history navigation
* Identical consecutive input entries now get merged together in the
input history for the sake of simpler navigation
* Renamed ConsoleUI.SetInput() to ConsoleUI.SetInputText()
Exposed Console input history maximum capacity

A maximum capacity for the input history stack can now be configured
from the ConsoleController inspector. Default value is 20.
Merge pull request #1 from Wenzil/master

Sync