Implement error handling for glUniform*v functions.
Instead of a list, mapped_names should be a dictionary. It is useful
because mapped_names can have more attributes/keys.
we can not have just one name_handler for all opengles objects.
In OpenGLES spec, the buffers, textures, framebuffers and renderbuffers
can be created using glBind instead of glGen functions, it means that the
user can pass random id's to glBind functions and these id's can have the
same value for different glBind functions.
Textures, buffers, renderbuffers and framebuffers can be created
by glBind* functions.
Fix glHint logic.