Improved VertexBuffer template check to accept C arrays and `std::array`
Perhaps change to `boost::end/begin` would be viable.