Add support for GL_APPLE_vertex_array_object.  Several test programs
and demos are also added.

Adding basic support to drivers should be as easy as just enabling the
extension, though thorough test would also be required.
diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S
index 692cfd6..b947ec2 100644
--- a/src/mesa/sparc/glapi_sparc.S
+++ b/src/mesa/sparc/glapi_sparc.S
@@ -884,6 +884,10 @@
 		.globl glGetQueryObjecti64vEXT ; .type glGetQueryObjecti64vEXT,#function
 		.globl glGetQueryObjectui64vEXT ; .type glGetQueryObjectui64vEXT,#function
 		.globl glBlitFramebufferEXT ; .type glBlitFramebufferEXT,#function
+		.globl glBindVertexArrayAPPLE ; .type glBindVertexArrayAPPLE,#function
+		.globl glDeleteVertexArraysAPPLE ; .type glDeleteVertexArraysAPPLE,#function
+		.globl glGenVertexArraysAPPLE ; .type glGenVertexArraysAPPLE,#function
+		.globl glIsVertexArrayAPPLE ; .type glIsVertexArrayAPPLE,#function
 		.globl _mesa_sparc_glapi_begin ; .type _mesa_sparc_glapi_begin,#function
 _mesa_sparc_glapi_begin:
 
@@ -1706,6 +1710,10 @@
 	GL_STUB(glGetQueryObjecti64vEXT, _gloffset_GetQueryObjecti64vEXT)
 	GL_STUB(glGetQueryObjectui64vEXT, _gloffset_GetQueryObjectui64vEXT)
 	GL_STUB(glBlitFramebufferEXT, _gloffset_BlitFramebufferEXT)
+	GL_STUB(glBindVertexArrayAPPLE, _gloffset_BindVertexArrayAPPLE)
+	GL_STUB(glDeleteVertexArraysAPPLE, _gloffset_DeleteVertexArraysAPPLE)
+	GL_STUB(glGenVertexArraysAPPLE, _gloffset_GenVertexArraysAPPLE)
+	GL_STUB(glIsVertexArrayAPPLE, _gloffset_IsVertexArrayAPPLE)
 
 		.globl _mesa_sparc_glapi_end ; .type _mesa_sparc_glapi_end,#function
 _mesa_sparc_glapi_end: