BUG: Fix comparator function signatures
BUG: Fix comparator function signatures

The comparator functions are expected to have signature int f(void *, void*, PyArrayObject *).
Some of the comparators drop the third argument because they don't use them. Because the
comparators are unused, with most architectures this works fine. However, calling a function
pointer that has been cast to have a different number of arguments is undefined in the C
specification. With web assembly targets, it crashes at runtime.

This fixes the comparators defined in arraytypes.c.src to all take three arguments.

See also related work:
258ce2523ffad99be69afbd421d540086cb6bf61
23c05e6f1b392f80f749dbb4668b5e7b52aef014

mattip/numpy,mattip/numpy,rgommers/numpy,pdebuyl/numpy,rgommers/numpy,numpy/numpy,charris/numpy,seberg/numpy,pdebuyl/numpy,numpy/numpy,jakirkham/numpy,charris/numpy,charris/numpy,seberg/numpy,mhvk/numpy,mhvk/numpy,mhvk/numpy,mattip/numpy,jakirkham/numpy,jakirkham/numpy,charris/numpy,numpy/numpy,mhvk/numpy,endolith/numpy,numpy/numpy,endolith/numpy,pdebuyl/numpy,jakirkham/numpy,mattip/numpy,anntzer/numpy,anntzer/numpy,endolith/numpy,rgommers/numpy,endolith/numpy,pdebuyl/numpy,jakirkham/numpy,rgommers/numpy,mhvk/numpy,seberg/numpy,anntzer/numpy,anntzer/numpy,seberg/numpy