Fix how strides is set on Py_buffer object when the array is C-contiguous

This is a possible fix for #5085.

A complete solution would probably convert the strides array from something containing -1's into the equivalent without them, but I don't know all the corner cases involved with that.
Refilling the strides arrays is very simple. Since you know it is contiguous, you can just start of with `PyArray_ITEMSIZE(arr)`, which you got somewhere anyway, and keep multiplying with the size along that dimension (forward for F-contiguous, backward for C)