I can answer Stephen A's question #4 right here, there is no client side vertex storage in GL3. All vertex data goes in buffer objects.