Started Input Overhaul

Added populateCodes, and started the transition to using
this.app.Listener instead of window.addEventListener.

Made get options return null instead of false to try and not be
confused.

More cleanup.