Hi, I'm 14, from France, and you're not insane (or I'm insane too
No, a such alogrithm isn't fast enough.
For more performance, you should create, for each sprite, a mask containing the image's collision pixels. Thus, the algorithm will have fewer pixels to process. You will also be able to use different colors in the mask, with different attributes (exemple: red for "offensive" pixels, green for "defensive" pixels and blue for normal collision pixels.
I did a such algorithm one or two months ago in ruby, I can give you the source code with explanations, if you want it
I haven't done any performance test, but it is optimized for occasional contacts. Use Chipmunk physic engine for persistent contacts(like between an object and the floor).