Add basic modifier support to key and mouse events.

Currently there is poor support for modifier keys.  Previously this was not implemented because GLUT did not offer good modifier key support.

With GLFW, we can now get reliable modifier key information with mouse and keyboard input.

While input event handling does need an overhaul eventually (likely when the GLUT window is deprecated and GLFW fixes its keyboard mapping issues), this fix will allow users to get minimal keyboard modifier information from GLFW.

This fix is backward compatible with existing systems because the default modifiers function arg is set to zero.