Let floatx and complexx use convert. Fix similar for sparse matrices.

Fixes #6051, but unsure if `convert(typeof(x).name.primary{$T}, x)` is the right approach for `float32(AbstractArray)` etc. It feels like a hack.