First of all, why did you play h6? You created a weakness. Also, Nh7 would be fine for you
How on earth?
I played h6 because it was free material. As for Nf2 - I see that if I kept that knight back I would have still been able to prevent the checkmate.
It's worth not taking 2 pawns worth of material just to keep your king's pawn cover intact?
Yeah, as chessdex stated, 7...h6 wasn't good. But once done, you went on a gobbling spree and ignored any attempt to protect your king. So getting checkmated isn't a surprise.
it was a premature attack and castling never hurts you, just beware sometimes. Anyway, there are some things you could have done, and remember if you are up a lot in material it never hurts to give it back.
[EDIT] h6 wasn't the losing move, but it creates a weakness. You were not threatening to take his bishop anyway, which would be an extremely dangerous move. After say castles queenside, the h6 pawn would have been a "hook", and the g2 pawn could "latch on to it" after a g2-g4-g5.
12...Nxf2 is a very bad idea. There might be something to save Black after that, but why complicate to try to grab even more material instead of defending safely ? 12...Qf6 instead and White's attack evaporates (you don't even need to give back a piece, as 13.Qxg4 d5 attacks queen and bishop, but even if you did, it wouldn't be a huge deal when you stay a rook up).
How on earth could I lose this game? Once again, someone castles early and it totally turns the game against them. What else could I have done here?