BUG: sparse: rewrite _csparsetools using Tempita rather than fused types

As of Cython 0.20.1, the fused types dispatch mechanism does not seem
solid enough, so we fall back here to a simpler solution.