It would have been slower had it rendered the squares individually.
Instead, it generates the HTML code needed to render all of the squares at once.
The squares contain borders which are almost half as wide as the squares are long/wide. The result is they "mitre", giving a triangular looking border edge which resembles the side of a pyramid.
I guess FF treats the style object very differently to MSIE, and so fails to render the borders at all.
Still, quite fractally, if I do say so myself.