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 
I certainly think your phrasing is better than mine.  The wording now matches robust_buffer_access_behavior, except "buffer object" is replaced with "storage accessible to the program".