CHANGES for GLUT API version 2

CHANGES for GLUT API version 2
-------------------------------

GLUT API version 2 should be fully compatible with the GLUT API
version 1.

Here are the GLUT API version 2 additions in more detail:

  GLUT_MULTISAMPLE - a display mode bit mask for requesting
    multi-sampling (hw anti-aliasing) available for Reality Engine
    class graphics hardware (IRIX 5.3 has multi-sampling GLX
    extension).

  GLUT_STEREO - a display mode bit mask for requesting
    a stereo (quad buffering) OpenGL visual.

  glutGet(GLUT_WINDOW_NUM_SAMPLES) - returns number of
    samples for multisampling for the window.

  glutGet(GLUT_WINDOW_STEREO) - boolean for it window supports
    stereo.

  glutGet(GLUT_ELAPSED_TIME) - an OS-portable way to
    get the elapsed time in milliseconds since glutInit

  glutDeviceGet(GLUT_HAS_KEYBOARD) - if keyboard supported.

  glutDeviceGet(GLUT_HAS_MOUSE) - if mouse supported.

  glutDeviceGet(GLUT_HAS_SPACEBALL) - if spaceball supported.

  glutDeviceGet(GLUT_HAS_DIAL_AND_BUTTON_BOX) - if dial and
    button box supported.

  glutDeviceGet(GLUT_HAS_TABLET) - if tablet supported.

  glutDeviceGet(GLUT_NUM_MOUSE_BUTTONS) - number of mouse
    buttons supported.

  glutDeviceGet(GLUT_NUM_SPACEBALL_BUTTONS) - number of
    spaceball buttons supported.

  glutDeviceGet(GLUT_NUM_BUTTON_BOX_BUTTONS) - number of
    button box buttons supported.

  glutDeviceGet(GLUT_NUM_DIALS) - number of dials supported.

  glutDeviceGet(GLUT_NUM_TABLET_BUTTONS) - number of table
    buttons supported.

  glutSpecialFunc - register callback for keyboard function
    and directional keys.

  glutSpaceballMotionFunc - register callback for spaceball
    motion.

  glutSpaceballRotateFunc - register callback for spaceball
    rotations.

  glutSpaceballButtonFunc - register callback for spaceball
    button events.

  glutButtonBoxFunc - register callback for button box button
    events.

  glutDialsFunc - register callback for dial motion.

  glutTabletMotionFunc - register callback for tablet motion.

  glutTabletButtonFunc - register callback for tablet button
    events.

  glutExtensionSupported - report if a given OpenGL extension
    is supported.

Also there are a handful of minor bug fixes (of course).

The stereo and multisampling stuff is probably (for now) interesting
mainly to Reality Engine graphics users.  The new device support uses
the X Input extension.  It works with SGI versions of the devices.  I'm
investigating how portable the current code is for other vendor's
advertising of their similar X Input devices.