[WIP] Sparse output KNN

WIP in early stages

- [x] Implement Cython CSR rowise mode function in sparsefuncs_fast
- [ ] Implement Cython CSR rowise weighted_mode function in sparsefuncs_fast
FWIW, a vectorized implementation of mode for a 1d array is:
```python
def mode(a):
    u, inv = np.unique(a, return_inverse=True)
    c = np.bincount(inv)
    m = np.argmax()
    return u[m], c[m]
```