Okay well he could be acting this way, in my opinion, for a number of reasons.
First of all, he could be intimidated by you. What are your good qualities? It could be that he is afraid that you have more good qualities than he does, and so he's afraid that he can't acknowledge your good qualities. By doing this, he's bringing down your self-esteem, to make himself look good. It's really not about you, in my opinion, it's about himself: he wants to get his, not necessarily take from you.
Okay. So he was acting nice when you first started going out. Did you guys see each other less then? It could be that he needs space, and you're threatening his personal time and space, and even family. His Mom took your side, I'm sure that made him even more determined to make it your fault.
Another thing is he may just want to break up with you, but he doesn't know how to do it, so he's trying to be as mean as possible to you, in order for you to break up with him first. This is probably the most likely situation, because it seems like he's just trying to be as mean as possible even if it is totally unreasonable. In any case, this still means that he needs distance. The more you try to work things out in that sort of a scenario, the meaner he's going to be, so the best thing to do is leave him alone a while. It may be that he wants to play the field a bit, but you have to remember that you're probably the best girl he's going to be able to get.
Another thing is that you are not necessarily compatible. Let's say you're a ballet dancer. He is a football player. He wants a girl who is into watching the games with him and you want a guy who will come to your ballet recitals. He's not going to always do that, and you have to wait for him to do it because he's nice and mature and ready to wrap his head around being a macho guy to do it. At the same time, if you hate watching football games, just don't do it. You don't have to do everything to please him, just tell him you're not coming over for football games, and only do it when you're feeling like being nice to him.
As far as sex goes, this may sound odd to you, but you should not have a guy who hounds you for sex and believes that he deserves it. There is not "deserving" sex. You should both want it, not just him. And him hounding you is probably making you want it less anyway. My boyfriend doesn't want sex, and I am not depriving him by not "giving it to him". Sex isn't something you give to somebody, it's something you share. He has to be extra sensitive because you've been through sh*t, and he has to admit that you've been through sh*t, which he's not going to do until he grows up and gets some maturity and like I said what he needs for that is a lot lot lot of space. Don't touch him. Don't see him. Don't make him feel like he Has to do anything. He has to come to you. And he has to concede something. He's being immature. He will grow up. Just be patient, don't reward bad behavior, and leave him alone.