I want to build a Automatic Speech Recognition (ASR) engine for myself, but I've no idea from where to start.
Start with trying existing open source speech recognition system, learn how they work, play with them. Check http://cmusphinx.sourceforge.net.
I've read that most ASR's are build upon Hidden Markov Models, but also I've read that HMM is limited somehow and a better approach is to build a ASR upon Machine Learning features.
HMM which provide time variance is still a reasonable model for speech, most of the system use it in one form or another. Limitations of HMM exist, but you do not need to care about them on that level.
You can implement a basic speech recognition system without HMM. For example check
That would be enough for "yes" and "no" discrimination. For any more serious use you will need HMM.
Can someone recommend me books on topics from which I can start?
There are two good books on topic:
A basic guide to start:
A modern state of the art