contrib: gmp: update to 6.0.0

This version is dual licensed GPLv2/LGPLv3
opengl: use buffer objects instead of host memory with glVertexAttribPointer.

Previously, glVertexAttribPointer was called in function
DrawWithShaders using an host array (textureCoord) allocated on the
stack inside a loop. This caused stack buffer overflow afterwards.

See http://www.opengl.org/wiki/Synchronization#Asynchronous_action

Array definition could have been hoisted out of the loop but using
buffer objects is a better solution since it is now the only option
with recent OpenGL versions.