Having `PyObject **args` causes refcounting problems, which may cause segfaults.

It's better to have this function to always return a new tuple. Also, add `PyTuple_Check` and use the tuple-specific Python routines instead of PySequence_*. Also, the arg normalisation should not be done on top of `PyUFunc_CheckOverride`, but only when you try to call the override function the first time.