$\sigma$-PCA: a unified neural model for linear and nonlinear principal component analysis