WIP/API/ENH: revamp ICA

New API for ICA, shorter examples, new diagnostic plots, utils for generating epochs on artifact events, outlier detection ....
I know it's gonna  be difficult to review but from time to time PRS like this one are necessary.
Please don't review. I'm in the middle of debugging.

cc @jdsitt @fraimondo @agramfort  
it's treated as a float value and behavior is the same for int or float so I would just write float.