Implement validation for accessor and buffer view ranges
Implement validation for accessor and buffer view ranges

We are now performing basic validation that tries to make sure accessor
data fits within the buffer view and buffer view fits within the buffer.

This is part of the new cgltf_validate function that will get more
validation checks in the future.

This change also adds invalid_gltf to differentiate cases where JSON
parsing went wrong from cases where GLTF is semantically incoherent.

jkuhlmann/cgltf,jkuhlmann/cgltf,jkuhlmann/cgltf