This all happened to me, more or less everything youve talked about. Me and my mum didnt get on that well, but she finaly sorted things out with me. I found the best way to get it trough to ur mum that you dont want her to treat you like a piece of shit is to tell her literaly, "Stop treating me like a piece of shit". She may punish you, if she does you have to just act like you dont really care if shes annoyed with you, but if you do it more than 3 times she should start to see that having a go at you doesnt do anything.
With your social life, you'd be amazed how much i got pissed off wit my best mate. We use to always sit next to each other school, always work together, and it got the the point where he had made some new friends. We always used to hang out at lunch but he started to hang out with them. He would ask me if i wanted to go with him (he always presumed i'd say no) and as soon as i'd say yes he'd either run off to them (literaly) or he just wouldnt tell me where he goes to meet them or he wouldnt talk about the subject. The soloution.... make some new friends. I bet that in your school there must be some people who have the same interests as you, i'm sure.
Ne ways, i got to go and eat my tea so i can't type any more for now.
2 things before i go, 1) People do care about what you have to say here, i do a lot because i went through the same thing, and 2) Your mum may not always like you but she will always love you.