Add information on range checking and primitive restart in WebGL 2

Includes filling out some differences between WebGL 1 and WebGL 2.
Typo fixes
WebGL2: IsEnabled docs and formatting for "Setting and getting state"

RASTERIZER_DISCARD is missing from the GLES3 man pages, but is in the
spec, so add that to the list of queriable parameters. Add spec link for
getParameter.
Improve VAO extension test

This commit makes the following improvements to the VAO extension test:
-Adds testing switching between VAOs that have different number of arrays
enabled.
-Uses a color attribute instead of using a texture coordinate attribute
which is meaningless since a texture is not used.
-Refactors testing pixels to remove unnecessary indirection.
-Fixes typos and makes the test output more descriptive.
Merge pull request #627 from NVIDIA/primitive-restart-range-check

Add information on range checking and primitive restart in WebGL 2
Fixed small typo.
Merge pull request #629 from kenrussell/typo

Fixed small typo.
Restore VAO test pixel tolerance to 2

Tolerance was raised to 5 since the test is not testing just white and
black any more, but it's better to keep it as is unless an actual
tolerance problem can be demonstrated.
Add paragraph about buffer object binding in WebGL 2

There's more buffer binding points and functions that set buffer binding
points in WebGL 2. Restricting index buffers not being bound to other
binding points avoids possible security issues with generating indices
from transform feedback.
Merge pull request #628 from NVIDIA/vao-test-tweaks

Improve VAO extension test
Fix absolute links and add anchors for consistency in WebGL 2 spec
Make WebGL 2 always have a default framebuffer

This is consistent with how context creation is specified.
Merge pull request #630 from NVIDIA/webgl2-buffer-object-binding

Add paragraph about buffer object binding in WebGL 2
Merge pull request #632 from NVIDIA/default-framebuffer-2

Make WebGL 2 always have a default framebuffer