As per 3...Qh4+. It is a fine move. The only problem here was that black decided to bring his queen back to d8, effectivly wasting a tempo.
10. Ba4
You are correct, taking the knight via dxc6 is strong.
12. c4
The problem here is that it is not particularly forcing. black can simply play 12...Ng6 and still be better.
12. h3 is in fact a good move. What is important here is that the Bishop on d7 is not actually threatening to do anything for a few moves. Bb5+ is not actually a threat for some time to come.
12. Nbd2 is inferior to h3. Best for black here was in fact Ng6, as was played.
13. g3?
Not a good move. After trading , the pin on the knight is stronger than ever, and the f4 pawn can easily be attacked with Qf6, as was played.
Best here is in fact 13.Bg3 Be7 14. h3 Bd7 15. Nd4 where the pin is broken and your knight puts pressure on black's position from d4.
14. f5
Not the best of moves either, as it saddles you with a backwards pawn. Better was Qe1, and then aiming to trade queens if Qxf4. If Qxb2, then h3.
16. Qe1 was indeed a mistake, as was 17. Qg3. However, after 17...Qxa1 18. Kg2 Bxf3+ 19. Nxf3 0-0?? Black's queen is hanging! after Rxa1 you are certainly on top of this game.
In the end I would have to say that you got very lucky. To someone of your level I would recommend
Bruce Pandolfini's Ultimate Guide to Chess. It should help you avoid some of the mistakes shown in this game. To name one, it will help distinguish which threats are dangerous and which are not (Bd7 falls into the latter category).
I've only done a quick analysis here, I could be wrong somewhere. I'll leave it to the big guns of the forum to get more specific
