Add a blocksparse multiplication implementation

This is a first step, it may still need more work.
Isn't it slow to run the kernel with many blocks, but only 1 thread per block?