BUG: Hold GIL for types with fields, fixes #4642

Set the `NPY_NEEDS_PYAPI` flag for types with fields, as these need
access to the Python API to manipulate the tuples and dicts holding
field information. It remains unset for the base `np.void` type.
Merge pull request #4648 from jaimefrio/void-api

BUG: Hold GIL for types with fields, fix #4642