Bug 1002281 - WebGL2 - Refactor common functions into WebGLBindableName.; r=jgilbert

WebGLBindableName represents a GL 'name' (GLuint) that can be bound to
part of the GL state machine. Similar code appeared in a number of
classes that represent GL bindable names, such as WebGLBuffer,
WebGLTexture, WebGLFramebuffer, etc.

Cleanup to reduce copy-n-paste code that's needed for creating new
objects for WebGL 2.

--HG--
extra : source : ad7803e3daf5862099f62f24fdbc83639be1ed5a