Input handler

Refactored class, made OS specific. 
Expanded support to all keys, 5 mouse buttons, and cursor position.
Key states should no longer be modifiable by classes who shouldn't be modifying it; current public access is limited to an accessor on the array for keystates.
OS specific Input constructor currently set to be called by window creation.
Possible issues with ALT keys; withholding support for now.
Nap time.