Gravar-mail: General conditions for spiking neurons and plasticity rules to perform independent component analysis