Fill in the spec for most texture functions in WebGL 2

Adds TEXTURE_IMMUTABLE_* enums to GetTexParameter which were previously
missing, and adds a note about TexImage3D being removed. Some parts like
format restrictions still need some work.
Added missing semicolon

As pointed out in #694.
Merge pull request #693 from NVIDIA/webgl2-texture-spec

Fill in the spec for most texture functions in WebGL 2
Fix minor issues in float texture extension specs

WEBGL_color_buffer_float had a wrong name for the interface, increasing
confusion between it and EXT_color_buffer_float. Also OES_texture_float
and OES_texture_half_float extensions had broken links.
OES_texture_half_float also incorrectly used OES prefix for
EXT_color_buffer_half_float.
Merge pull request #695 from NVIDIA/float-extension-spec-fixes

Fix minor issues in float texture extension specs
remote MapBuffer-related constants from test
Mention MapBufferRange in the list of differences from OpenGL ES 3.0
add IMPLEMENTATION_COLOR_* constants to the enums test
Merge pull request #697 from bjacob/webgl2-tests-fixes

Make constants-and-properties-2.html passable (take 2)
add vertexAttribIPointer
Merge pull request #698 from bjacob/vertexAttribIPointer

add vertexAttribIPointer to test
bindAttribLocation with matrix attributes

This test verifies that vectors placed via bindAttribLocation right after matricies will fail if there is insufficient room for the matrix.
Merge pull request #699 from RafaelCintron/bindAttribLocationMatrix

bindAttribLocation with matrix attributes
Added extension annotations describing compatibility across spec versions
Merge pull request #700 from toji/extension_versions

Added extension annotations describing compatibility across spec versions
Add information on planned backwards incompatibility in WebGL 2

It was decided in the WebGL WG F2F that WebGL 2 will not be entirely
backwards compatible with WebGL 1. In particular, there is agreement
that all extensions are not moving over, and always enabling primitive
restart in WebGL 2 significantly streamlines implementations, so that
could be added to this section of the spec.
Merge pull request #701 from NVIDIA/webgl2-backwards-compatibility

Add information on planned backwards incompatibility in WebGL 2
Added test to ensure rendering feedback loops are disallowed.
Add tests for using constant expressions in the loop condition.
Ternary Operators in Initializers

This test verifies initializers with ternary operators correctly initialize all variables.

Test fragment shaders are of the form:
    void main() {
        {type} i = {initializer}, j = {ternary test using i that succeeds} ? : {green} : {black};
        gl_FragColor = vec4(...); // Emit green so that test will pass
    }
The fragment shader must compile and link with the default vertex shader. J must be able to use the values of I as well as have its own values properly initialized.