Gl id validation

Add more validation to the GL layer when GL_CHECK_ERRORS is enabled. This catches and reports situations where user code passes nonexisting or deleted GL objects to texture/program/shader/framebuffer/renderbuffer functions, and yells out explicitly that the user code is not behaving properly.