Multi-Input support

Added the ability to support keyboard and controller at the same time.