Parallel() for CanICA class

tries to address #235
I believe you could use `min` with a `key` argument here something like (not tested and dependent on another comment above):

```python
ica_maps_and_sparsities = ((ica_maps, np.sum(np.abs(ica_map)).max()) for ica_maps in ica_maps_gen_)
ica_maps, sparsity = min(ica_maps_and_sparsities, key=operator.itemgetter(-1))
```