Text this: An algorithm for independent component analysis using a general class of copula-based dependence criteria