As other have noted, you should work on your betting size. It appears you were in the small blind and there were a lot of limpers; with your $12 raise, it may have the benefit of getting some more money in the pot when it's likely you have the best or one of the better hands, but the problem is that you are at a huge handicap in having to play out the rest of the hand in the worst possible position with an inflated pot.
Likewise, the $25 flop bet is too small--it might get a little money from worse hands, but you could have A) gotten more money from worse hands and B) made it so that anybody that calls with a draw is making a mistake. As it is, somebody with a flush draw is getting a great price to continue and even somebody with a worse hand, like 78, is getting decent odds to call (with the assumption that they'll get paid off from you if they hit 2 pair or 3 of a kind).
As for the decision to call villain's all in bet, we can make a few assumptions. Since you describe him as at least somewhat TAGgish, two pair hands are unlikely since he wouldn't play Q7, Q3, or 73. There are no open-ended straight draws. He probably would have raised QQ, KK, AA preflop. That leaves a pretty small range of possible hands then: 33, 77, two diamonds (since you don't have the A of diamonds, it's possible that he does), or something like KQ, QJ, QT (and since you have a Q, this becomes a little less likely).
Now think about this from the villain's point of view. You raised before the flop into a lot of people and you also bet out on the flop into a lot of people--he's probably got some awareness that you have a decent hand. Knowing that, why would he ever raise with one of the KQ, QJ, QT hands?--it's not like you'll call with a worse hand, unless he thinks he's protecting against a flush draw, but I think most players in his shoes would do nothing more than call. If he has a flush draw, then you've given him great odds to simply call and see the next card. He could be semi-bluffing though, trying to take down an OK sized pot with some outs if he's called, but that would mean that he thinks there's a reasonable chance you'll fold (and remember, he probably knows that you're probably strong). The other scenario is that he's flopped a set, is scared of the flush draw and/or thinks that your hand may be strong enough (AQ, KK, AA) to call a huge bet. Even though his bet size is also weird, this scenario makes the most sense out of his possible range.
My inexact, quick calculation is that you need a good 40% equity to call here. The best case scenario is that he just has a weaker hand, like QJ, but I think that's also the least likely one by a long shot. Against a flush draw, you're roughly 2/3 to win, but against a set you're essentially drawing dead. So, do you think that there's a >50% chance (more like >60% chance) that villain has made this bet with a flush draw, weaker Q, or total bluff? My instincts lean toward "no"--the chance of you being up against a set here is pretty high and a fold is the right move. One other tiny factor to think about, too, is that when villain makes his raise, there is still another opponent (the button) behind him which makes his bet even stronger.