Improved inputs (WIP)

Inputs now have a type, can be SINGLE or CONTINUOUS (SINGLE requires the
user to release the input before it is registered again)
I need to fix the horrible abstraction