Telemark Just caught up with your sitch. Keep plugging along your W sounds a lot like mine. You need to keep working on being the man she is dumb to leave. Also in my case I found that she demonized me because I let her. In order to avoid conflict I would take her berating. It may have kept the situation from getting worse in the short term, but in the long term it cemented in her mind that I was this terrible person she needed to lash out against.
Admit to your wrongs, work on them, but start demanding she cut you some slack. Yes forgiveness it's up to her, but some people gloss over their own shortcomings by dragging down everybody else below them to feel better about themselves, and then wonder why they are surrounded by people they deem "to be bad".
It may not be time to do this yet, especially since depending on your approach it may make things worse. All I can say is that until she learns to forgive you and cut you some slack, things will NOT get better.
Anger and resentment is a way of life for her. she needs to know you will not tolerate that. As I said finding the time and place will be hard. Yet it needs to be done.