If you know ahead of time that you're going to be missing a player, do you reschedule? Or just play them as an NPC or as a group puppet?
I see several options here:
Get over it
Talk about it
Most likely you will have to implement several of these methods to come up with a true solution, but here are my recommendations for each:
Get Over It As a player (but more a GM) you're putting yourself out there a bit. Yes it'd be nice if your players respected your NPCs a bit more, but if you are enjoying the game why is it a big deal? You may need to examine your expectations here. Maybe your group is looking for a lighter play style than you are.
Embrace It Pun it up, make your NPCs fit their puns. Make your ridiculous character all the more ridiculous. This may not work if you're looking at a more serious play style, but even those have room for humor. Or maybe your Minotaur has a complex...Maybe it's no metagaming, maybe it's really an insult. Maybe your character really is a cow?
Talk about it This is the hardest of my recommendations, but is probably the most useful. Most likely your group doesn't see an issue. You've got to actually dialogue about how your expectations are different from what plays out at the table and talk about how you guys can come to a solution. This is cooperative gaming, it should also be about cooperating to have a good time so everyone can have fun. This is especially important if you feel offended or if the jokes have crossed the line. There is no reason to sit and stew when if you asked them to stop they would likely stop.
Change it Come up with a different character concept, do a better job roleplaying/naming/characterizing your NPCs. This isn't to say that you're not doing fine right now, just that if it's bothering you, use it as motivation to get better.
It sounds to me like your expectations and your groups' expectations are kind of on a different page. Really most of this boils down to aligning those and continuing on. If you're group is looking for beer and peanuts to relax after work and you're looking for serious theater, you might have to all adjust your expectations and find different outlets for the sentiments that are no longer welcome at the table.
Personally I think it's important to have fun at the gaming table and if something is impinging on your fun you should let your group know. I'm pretty sure they'd be happy to help you fix it, even if it means they have to pass on the cow jokes.
You've already covered it, let him contribute the level he wants to, even if that's less than other players.
Different players want different things out of a game. Don't drive your player away by forcing him to RP if he isn't up for it in every scene. I myself love to roleplay, but this is not a constant from session to session and my energy and emotional investment can vary largely from scene to scene. I may take the limelight for a session while I try to lead the party with a plan I've come up with as a player, but I also frequently take a back seat if there's nothing pressing to my character and I am okay with the general progression of events and party decisions being made. Ultimately your player having a good time is something only they can gauge, if he/she says they are having fun and are okay with things then respect their self-knowledge and let things be.