new(): fix item_count calculation

new() "[c]reates an empty array object of $count rows made up [of] data
types @types" (see Array.pod).

Memory allocation for the array work as described (and calculation of
total_types_width work as expected), but item_count reflects the number
of rows, while other functions such as retrieve() and affine() interpret
it as the number of items (= values in the array, rather than rows in
the array).

This patch makes item_count reflect the number of items in the array, so
that functions like retrieve() and affine() work on the whole array.
!!! skip OpenGL::RPN tests again because they break on my system
updated glext.h to include extensions up to OpenGL 4.2 and used it to generate and update further ancillary files
prepared an xs file for addition of functions needed for gltut
added bindings for glGenVertexArrays and glBindVertexArray
updated freeglut to 2.8.0
added glAttachShader, glDeleteShader, glGetShaderiv_p, glGetShaderInfoLog_p
added glutInitContextVersion, glutInitContextFlags, glutInitContextProfile, GLUT_CORE_PROFILE, GLUT_DEBUG
get program iv
added occlusion query capability
added glDrawElementsBaseVertex_c
add GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER, GL_FRAMEBUFFER_COMPLETE