Added draft implementation of factor analysis

This is a draft implementation of factor analysis based on the algorithm described on Bayesian Reasoning and Machine Learning (David Barber) and the scikit-learn implementation. I still did not optimize it for performance so it may have some issues (e.g., allocating memory for matrices inside the loop). I also did not write any tests but I am planning to compare it to the scikit-learn implementation on the same dataset.

Is there interest in adding it to this package if I manage to improve the implementation and write tests and documentation? Any suggestions to improve the implementation or coding style would be appreciated.