[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
y is already sparse, shouldn't this use `y.tocsc`?