Properly detect whether vertex_array_object is available, and workaround if it isn't