Large-scale unsupervised Hidden Markov Model (HMM) implementation supporting online-learning and multi-threading