Add support for glutSetCursor function

That pull request implements the glutSetCursor function.
The following GLUT cursor types are supported : 
* GLUT_CURSOR_INFO
* GLUT_CURSOR_HELP 
* GLUT_CURSOR_WAIT
* GLUT_CURSOR_TEXT
* GLUT_CURSOR_CROSSHAIR
* GLUT_CURSOR_UP_DOWN
* GLUT_CURSOR_LEFT_RIGHT
* GLUT_CURSOR_TOP_SIDE
* GLUT_CURSOR_BOTTOM_SIDE
* GLUT_CURSOR_LEFT_SIDE
* GLUT_CURSOR_RIGHT_SIDE
* GLUT_CURSOR_TOP_LEFT_CORNER
* GLUT_CURSOR_TOP_RIGHT_CORNER
* GLUT_CURSOR_BOTTOM_RIGHT_CORNER
* GLUT_CURSOR_BOTTOM_LEFT_CORNER
* GLUT_CURSOR_NONE 
Does `glutSetCursor` not report a warning/error if user passes an invalid value? This code will reset the cursor to the default `auto` whenever caller passes an unrecognized value, is that according to GLUT specification?