ENH: use PyDataMem_NEW_CALLOC for PyArray_Zeros

PyDataMem_NEW_CALLOC uses calloc which will take advantage of the fact
that most operating systems provide already zero initialized memory
blocks on larger allocations.
Additionally this memory can be sparse (= mapped to a single zero page)
on some systems (e.g. linux) reducing memory usage of applications
using sparse arrays.