Changed the Modifiers behavior in KeyEvent to more properly handle modifier keys. This is just the public interface for now; next comes all the backends.
Implemented the new Modifiers behavior on the GTK+ backend. In addition, removed some code commented out long ago and restructured a few functions for the change.
Added the new Modifiers handling to the Windows backend.
More TODOs. Also preemptively removed the Modifiers TODO; I'll be implementing it on Mac OS X now.
Added new Modifiers code for Mac OS X. Also fixed some comment typos and added more TODOs.