PERF: NDArrayBackedExtensionArray in cython
This is a reboot of #40054, implements NDArrayBacked in a new arrays.pyx rather than in lib.pyx.  The perf benefits have improved since #40054, as there is now the prospect of implementing a NDArrayBackedExtensionBlock in cython which will appreciably improve constructor and slicing performance.