Perf regression with change to Laser / pointer+length
The change in https://github.com/mratsim/Arraymancer/pull/420 is a key enhancement that will change Arraymancer backend from a seq to pointer + length for trivial types.

1. This will allow zero-copy interaction with external libraries including zero-copy from an image library or from Numpy, PyTorch,n Tensorflow, XGBoost, LightGBM, ...

2. This will make it possible also to introduce memory pooling to Arraymancer in the future to better handle temporaries that come out of tensor slicing.

However from the sanity check benchmark xor, we have a perf regression that will be incurred when #420 is merged and that needs to be solved, see https://github.com/mratsim/Arraymancer/pull/420#issuecomment-616834620

Note that the PR is only one half and another PR that will completely revamp all the clunky iterators used in Arraymancer.
That PR should have a significant impact on performance when compiled with `-d:openmp` as it would provide default threshold to avoid parallelizing when unnecessary (see https://github.com/zy97140/omp-benchmark-for-pytorch and preparation code https://github.com/mratsim/Arraymancer/blob/fe896870f8a67f961a930f832af72354f32c3da2/src/laser/openmp.nim#L58-L85
Furthermore, for single threaded code the iteration on multiple tensors, especially strided, should be noticeably faster 