generic non-negative least squares solver