Trade: fix MeshData range checks for array attributes.
And add a comment explaining why we don't check the pointer for empty
meshes -- otherwise empty interleaved meshes would fail with stuff like
Trade::MeshData: attribute 0 [0xc:0xc] is not contained in passed
vertexData array [0x0:0x0]
which ... helps nobody.
"Trade::MeshData: attribute"<<i<<"["<<Debug::nospace<<begin<<Debug::nospace<<":"<<Debug::nospace<<end<<Debug::nospace<<"] is not contained in passed vertexData array ["<<Debug::nospace<<static_cast<constvoid*>(_vertexData.begin())<<Debug::nospace<<":"<<Debug::nospace<<static_cast<constvoid*>(_vertexData.end())<<Debug::nospace<<"]",);
"Trade::MeshData: attribute"<<i<<"["<<Debug::nospace<<begin<<Debug::nospace<<":"<<Debug::nospace<<end<<Debug::nospace<<"] is not contained in passed vertexData array ["<<Debug::nospace<<static_cast<constvoid*>(_vertexData.begin())<<Debug::nospace<<":"<<Debug::nospace<<static_cast<constvoid*>(_vertexData.end())<<Debug::nospace<<"]",);