Align validation in `dom::webgpu::Buffer::GetMappedRange` to correspond with that given in the WebGPU specification. Change variables to more closely resemble the terms used in the specification. Change `dom::webgpu::Buffer::mArrayBuffers` to an `nsTArray` of a new struct `MappedView`, which carries enough information to properly validate requests for mapped ranges. Update all uses. Provide an `nsTArray_RelocationStrategy` specialization for `MappedView`. Add a new mochitest, `test_buffer_mapping_overlapping_views.html`. Differential Revision: https://phabricator.services.mozilla.com/D215442