I think the only logical reason to call on the flop is to steal the turn if you slow down, but when he makes a draw, he figures why risk being raised off it, so he checks behind. I think you did miss a bet on the turn, especially heads up. Then the river is just a death card for you and nothing really you can do about it, especially heads up. I think if you bet the turn, he lets it go.
That's the way the donkeys play poker, they start with nothing, and they eventually (on the turn or river) draw out on you.
Fold or reraise preflop. Calling HU OOP with QTo is just about as bad as it gets. Donking that flop with nothing is a close 2nd. Checking the turn is 3rd.
As to why he called the flop bet? We'll it's HU, he has position, and his hand is very likely to be good. Also he likely knows you're not very good because you called OOP and then led out on a flop that he'll be cbetting about 110% of the time.
That's the way the donkeys play poker, they start with nothing, and they eventually (on the turn or river) draw out on you.
+1
Add to that the flop bet was 1/2 pot and villain can call with pretty much anything.