You made some good moves. On move 18 you show that you're aware it's better to bring in more pieces to the attack than go pawn grabbing. He may have caught you off guard with 12.d4 but you realized Bxh2 gave you some compensation in an attack and after 16...Qxg4 you got the piece back with interest.
Your move 3...h6 I think was giving his possible pin too much credit, the opening is about speedy development. It's true that sometimes the a3, h3, a6, h6 moves are important in the opening, but the player who plays one should be able to point to a more specific reason than not wanting a pin. Consider that d5 and e4 (the primary squares your knight is influencing) aren't in contention. A more principled opening move would have been 3...d5 or as you played the next move 3...Bc5.
Your 6th move, 6...a6, also was better spent on a developing move. It's best to think of pawns as creating terrain and your pieces are your army. Unless the terrain has to do with the high ground (the middle) moves that get your army out are almost always the best. Your reasoning (creating retreat square) was better than for your 3rd move, but the bishop wasn't in danger of being trapped as the b6 square was perfectly safe for it.
That said the rest of your opening is very good, each piece once, castle and connect your rooks. Qd7 was a tactical oversight (white could have immediately done the d4-d5 idea) but was good in principal. Also noticing Bxh3 winning two pawns and opening his king was good, there are more important things than the material count, like getting at his king!
After white castles, for your 11th move it would be a good idea to play d5 or (if it weren't for the tactic of trapping your bishop) move a rook to the d or e file. Ne7 shows that you were at somewhat of a loss for what to do after you brought out your pieces. Because your army stands more developed it's important to act quickly, re-routing the knight with Ne7 gives white time to catch up in development i.e. your advantage would be neutralized. "Acting quickly" means working to get a line open (by playing d5) or attacking a weakness (white is solid right now so probably d5 :).
So your moves 3, 6, and 11 aside it was a very good game. You weren't afraid to give up some material, didn't go pawn grabbing, and developed in the opening pretty quickly. This wasn't a very long game, only 20 some moves, but I'd guess your rating will go up from here.
I'd apriciate any comments that you have...