PERF: materialize less on slice in sparse __getitem__
Could probably be pushed further to avoid densifying doe `step != 1`, but this seemed like a good starting point as the most common case


```
       before           after         ratio
     [21c29919]       [5622f636]
     <master>         <sparse_getitem_slice>
-        12.2±1ms         35.2±3μs     0.00  sparse.GetItem.time_slice
```