This is just a specialized version of TheLogFather's quad fill algorithm (the raster 'ghosted' one). This one assumes the quads are convex (which they always are when rendering rectangles and trapezoids in a 3D scene). We're gaining 15% to 30%! Ha ha! :-)
Thanks to TheLogFather for the framework, for the original idea, for the all his work on Scratch! Great guy, great developer! :-)