What's new
The python interface for `tile_bounds` has been abstracted away, and instead project and rasterize take in a `block_width` parameter controlling the tile size as well as the CUDA block size. CUDA was refactored to allow dynamic block sizes, which enables ND rasterization speedups by taking better advantage of shared memory.