Help me analyze this game

Sort:
gundamv
Me (1668) vs. Someone (1434)
 
1. e4 e5 2. Nf3 d6 3. d4 exd4 4. Nxd4 c5 
 
Here, Black has a giant hole on d6.  Throughout the game, I use this hole as a Knight outpost.
 
5. Nf3 Bg4 6. Be2 Nf6 7. Nc3 Nc6
8. h3 Bxf3 9. Bxf3 Nd4 10. Be3 Nxf3+ 11. Qxf3 Qb6 12. Rb1 Be7 13. O-O O-O
14. Bg5 Qd8 15. Bxf6 Bxf6 16. Nd5 b5 17. Rfd1 Be5 18. Qg4 g6 19. f4 Bd4+
20. Kh1 a5 21. c3 Bg7 22. f5 g5 23. Rf1 f6 24. h4 h6 25. hxg5 hxg5 26. Rf3
Kf7 27. Qh5+ Kg8 28. Rh3 Qe8 
 
I thought I had a good position here.  I was on the attack and was winning.
 
29. Qxe8?! (maybe even ?) I thought this move wasn't well played as it gave up the tension too quickly.  Afterwards, my attack fizzled and I had to end up compensating for my lack of attack with my positional advantages. 
 
Raxe8 30. Re1 Kf7 31. Nc7 Rb8 32. Ne6
Rh8 33. Re3 g4 34. Rxh8 Rxh8+ 35. Kg1 b4 36. Rg3 bxc3 37. bxc3 Rh4 38. Rd3
Ke7 
 
39. g3? 
 
Missed a clear gain of material here with Nxg7.  My explanation is that I was too concerned with a g pawn push that would free the enemy Rook and tie my rook down to passive defense of the e-pawn.
 
Rh7 40. Nf4 Bh6 41. Ng6+ Kd7 42. c4 Kc6 43. Rb3 Rb7 44. Kf2 Rxb3
45. axb3 Bd2 46. Ne7+ Kd7 47. Nd5 Bg5 48. Ke2 Kc6 49. Kd3 Kd7 50. Kc3 Kc6
51. Ne7+ Kd7 52. Nd5 Kc6 53. Kb2 Bd2 54. Nxf6 Be1 55. Nxg4 Bxg3 56. f6 Kd7
57. f7 Ke7 58. Ka3 Kxf7 59. Ka4 Ke6 60. Kxa5 Be1+ 61. Kb5 Bb4 62. Kc6 Ke7
63. Kd5 Kd7 64. Nf6+ Ke7 65. Ng4 Kd7 66. Ne3 Ke7 67. Nc2 Kd7 68. Nxb4 cxb4
69. c5 dxc5 70. Kxc5 Kc7 71. Kxb4 Kc6 72. Kc4 Kd6 73. b4 Ke5 74. Kc5 Kxe4
75. b5 Ke5 76. Kc6 Ke6 77. b6 Ke7 78. Kc7 Ke8 79. b7 Ke7 80. b8=Q Ke6 81. Qc8+
Kd5 82. Qd7+ Ke4 83. Qe6+ Kd4 84. Kc6 Kd3 85. Kd5 Kc3 86. Qe4 Kb3 87. Qc4+
Ka3 88. Kc5 Kb2 89. Kb4 Kb1 90. Qc3 Ka2 91. Qb3+ Ka1 92. Qh3 Kb1 93. Kb3
Kc1 94. Qe3+ Kd1 95. Qf3+ Kc1 96. Kc3 1-0
 
I think that for the ending sequence, I might have been able to deliver checkmate quicker.  My biggest fear there was stalemate and I made sure before making any moves that (1) it was a check or (2) there was a space that the enemy king could go to if my move was not a check.
 
Pros:
* Good attack
* Good positional play (lots of outposts for the knight)
 
Cons:
* Dissipated the attack too quickly
* Probably wasted some time in the ending.
 
Edit: Here is the game in game format (Just figured out how to use it)

Please help me analyze this game.  In particular, how could I have avoided the Queen exchange and deal a fantastic attacking blow instead?  Or is the Queen exchange my best bet?
 
Edit 2: I used to play a lot of Blitz, but now I play slower games.  I find that playing slower games have improved my chess thinking and planning tremendously.  For the record, this was a 15 2 game.  My blitz games were usually 3 5 or 3 12.
MoonlessNight

Maybe 29.Qh7+ Kf7 Nc7 forking blacks queen and rook