add libtsnnls, a sparse non-negative least-squares solver