Use `cimport numpy as cnp` in Cython files for NumPy C API

I propose using `cnp` to reference NumPy's C API in Cython files. This pattern is [adapted in pandas](https://github.com/pandas-dev/pandas/blob/422e92ab29ea279c95d212124d9ffe5988c34ab6/pandas/_libs/lib.pyx#L33-L35) and it looks reasonable. The idea is to use `np` for the Python API and `cnp` for C API:

```python
import numpy as np

cimport numpy as cnp
cnp.import_array()
```

COMMENT:
Here is the full list:

- [x] sklearn/_isotonic.pyx #23303
- [x] sklearn/_loss/_loss.pyx.tp #23304
- [x] sklearn/_loss/_loss.pxd #23304
- [x] sklearn/cluster/_dbscan_inner.pyx #23306
- [x] sklearn/cluster/_k_means_elkan.pyx #23306
- [x] sklearn/cluster/_k_means_minibatch.pyx #23306
- [x] sklearn/cluster/_k_means_common.pyx #23306
- [x] sklearn/cluster/_k_means_lloyd.pyx #23306
- [x] sklearn/cluster/_hierarchical_fast.pyx #23306
- [x] sklearn/datasets/_svmlight_format_fast.pyx #23329
- [x] sklearn/decomposition/_online_lda_fast.pyx #23330
- [x] sklearn/ensemble/_hist_gradient_boosting/common.pxd #23305
- [x] sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx #23305
- [x] sklearn/ensemble/_hist_gradient_boosting/splitting.pyx #23305
- [x] sklearn/ensemble/_hist_gradient_boosting/histogram.pyx #23305
- [x] sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.pyx #23305
- [x] sklearn/ensemble/_hist_gradient_boosting/_binning.pyx #23305
- [x] sklearn/ensemble/_gradient_boosting.pyx #23352
- [x] sklearn/feature_extraction/_hashing_fast.pyx #23331
- [x] sklearn/linear_model/_sag_fast.pyx.tp #23307
- [x] sklearn/linear_model/_cd_fast.pyx #23307
- [x] sklearn/linear_model/_sgd_fast.pyx #23307
- [x] sklearn/manifold/_utils.pyx #23351
- [x] sklearn/manifold/_barnes_hut_tsne.pyx #23351
- [x] sklearn/metrics/_dist_metrics.pyx #23308
- [x] sklearn/metrics/_dist_metrics.pxd #23308
- [x] sklearn/metrics/cluster/_expected_mutual_info_fast.pyx #23308
- [x] sklearn/metrics/_pairwise_distances_reduction.pyx #23308
- [x] sklearn/metrics/_pairwise_fast.pyx #23308
- [x] sklearn/neighbors/_quad_tree.pyx #23350
- [x] sklearn/neighbors/_quad_tree.pxd #23350
- [x] sklearn/neighbors/_binary_tree.pxi #23350
- [x] sklearn/preprocessing/_csr_polynomial_expansion.pyx #23349
- [x] sklearn/svm/_liblinear.pyx #23326
- [x] sklearn/svm/_libsvm.pyx #23326
- [x] sklearn/svm/_libsvm_sparse.pyx #23326
- [x] sklearn/tree/_utils.pyx #23315
- [x] sklearn/tree/_utils.pxd #23315
- [x] sklearn/tree/_criterion.pyx #23315
- [x] sklearn/tree/_criterion.pxd #23315
- [x] sklearn/tree/_splitter.pyx #23315
- [x] sklearn/tree/_splitter.pxd #23315
- [x] sklearn/tree/_tree.pyx #23315
- [x] sklearn/tree/_tree.pxd #23315
- [x] sklearn/utils/murmurhash.pyx #23348
- [x] sklearn/utils/murmurhash.pxd #23348
- [x] sklearn/utils/sparsefuncs_fast.pyx #23348
- [x] sklearn/utils/_readonly_array_wrapper.pyx #23348
- [x] sklearn/utils/_weight_vector.pxd.tp #23348
- [x] sklearn/utils/_weight_vector.pyx.tp #23348
- [x] sklearn/utils/_fast_dict.pyx #23348
- [x] sklearn/utils/_fast_dict.pxd #23301
- [x] sklearn/utils/arrayfuncs.pyx #23348
- [x] sklearn/utils/_vector_sentinel.pyx #23348
- [x] sklearn/utils/_vector_sentinel.pxd #23348
- [x] sklearn/utils/_typedefs.pyx #23348
- [x] sklearn/utils/_typedefs.pxd #23348
- [x] sklearn/utils/_random.pyx #23302
- [x] sklearn/utils/_random.pxd #23302
- [x] sklearn/utils/_seq_dataset.pyx.tp #23348
- [x] sklearn/utils/_seq_dataset.pxd.tp #23348
- [x] sklearn/utils/_logistic_sigmoid.pyx #23348

Labels: cython, Refactor