WIP/ENH: improve ICA memory profile by 40%

Using the new memory profiler by @fabianp @garvais I was able to track down the memory issues I had witnessed during the last weeks.
This proposal cut's down memory consumption by 50-40% - that is instead of 5-6 GB of ram on 1GB data input we now end up consuming 3 GB.
I pushed things into inplace operations where possible and removed local variables which previously had been ratcheting up across cycles of iteration. Finally, cost functions now return a mean vector as second value which further cuts memory consumption.

cc @GaelVaroquaux @agramfort @mblondel