Relax bounds checking requirements on array accesses

Per https://code.google.com/p/chromium/issues/detail?id=427065 and modeled after https://www.opengl.org/registry/specs/KHR/robust_buffer_access_behavior.txt , relax the bounds checking requirements on array accesses.  This should allow D3D to avoid unnecessary bounds checks.

Feedback welcome.  Happy to clarify.  :)

cc @kenrussell @grorg 
Done.  For some reason, I was thinking you couldn't write to arrays in WebGL, but on reflection, that's absolutely not true. :)  I brought over more of robust_buffer_access_behavior.