You must stop being so negative about yourself. You are not to blame for this.
He chose to cheat. He could have done the decent thing and paused before cheating and told you that he was unhappy and that you both needed to work on your relationship, that would have been the right thing to do. By not doing that he then betrayed you with your friend. That decision has nothing to do with you being controlling, or her being a gym bunny. It is a true refection of who he is. You could be chilled, easy going, a catwalk model and he would have cheated anyway, because that's what cheats do, they cheat!
No more blaming yourself please, it's his fault, it was his choice, end of.
And his mum will support him, because it's easier than the unpalatable truth. It's not her fault for the way she raised him, it's his fault.
You don't need his mum on side, you don't need anyone's validation. It is obvious that he's in the wrong, so worrying about others opinions is a waste of energy.
Draw support from your own family and friends, lean on them.