Have been close friends with a colleague for about 10 years. Over the past few years he has treated me like an absolute doormat and because I've been pretty vulnerable over the past few years I kept accepting it but now I don't want to go on like this.
He has form for ghosting me (suddenly going AWOL, not responding to texts, actively ignoring me at work) for months on end causing untold anxiety then coming back into my life and insisting it was all my fault. Basically I'm lonely and I kept thinking that a bad friendship with him was better than no friendship at all. I also justified it to myself that he is fatally flawed and that's what I liked about him 
I don't have the mental energy to keep on like this being anxious about running into him - he will dip into offices if he sees me, and thus far has avoided all meetings I'm at by sending a colleague in his stead. I find his behaviour confusing and hurtful, I miss the friendship we had but I can't see a way of getting it back because I am too hurt by how he has treated me during what has been a really bad time in my life.
The last time we met up for drinks it was all lovely (although he did mention that his girlfriend was not happy about his friendship with me and that he was keeping our meetings secret!), and a few weeks later I offered to shout him lunch for his birthday and he said no he was busy. I did reply to that text with a casual 'well maybe another time then?' and then heard nothing and started being blanked at work.
Where do I go from here? I know what I should do - be professional, polite, only engage about work (I can see a project together looming on the horizon), but I also want to tackle him about his heartless and cowardly behaviour lest he be convincing himself it is once again all my fault. I know he wants me to go away quietly without him having to actually speak to me about it, but there's this raw edge of the friendship left hanging that I just want to neaten off.