New observation design pattern for listening key events.

[NEW] New observation design pattern for listening key events.
[NEW] Now Input.isKeyTrigger(), Input.isKeyDown(), and Input.isKeyRepeat
can take modifier keys.