ENH: sparse: delay densifying on sparse elementwise mult

Main idea: elementwise multiplication with at least one sparse matrix should take advantage of sparsity. The current implementation always densifies if one operand is dense.

This is only a partial solution for now, because many of the tests expect a dense (matrix) result. Ideally, we should rewrite the tests to accept either sparse or dense outputs.