So I had a bad idea...

I am retargeting this project.  Instead of sitting on top of various IRC
frameworks to act as an abstraction... this was doomed to failure.
Instead this will act as the entire IRC framework, and I will write all
the backends myself.  Portability is the core here.