Thanks for sharing Lisa.
Relationships are hard. I have yet to encounter one, friendship or otherwise, that hasn't had it's struggles. I think communicating is the easiest way to save a relationship, and I think this friendship of yours probably imploded as it did because you were unable to communicate your feelings properly from the start. That said, you don't have to take responsibility for her behaviors - just your inability to tell her they hurt you. If you can take responsibility for not telling her
how you felt from the beginning, maybe she can take responsibility for
behaving inappropriately.
I think for your sanity and well-being, it might be worth the time to tell her that the
reason you feel your relationship ended the way it did was not because of one
isolated incident - it was numerous incidents that eroded away that
strong foundation. No matter what, it's important to try as best you can to go forward without expectation of her response. Expect that you can say what you feel and can't control the outcome, and whatever happens is just... as it is. I hate to get all therapeutic on you, but I find that "I" statements are usually the best way to go in these situations ("I felt x when you said y because z"). You can be the adult by working to keep the focus on you and in turn prevent her from going on the defense, which ultimately can set a tone for healing as opposed to resurfaced rage.
One last thing - forgiving her is not necessarily letting her back into your life. It's certainly not allowing more unacceptable behavior. Forgiving her is for YOU, even if it's just in your own heart and mind, even if it's just allowing her to be selfish and judgmental and accepting that you've done what you can and gone your separate ways.