Citadel input

Created support for input modules and created a basic terminal input class