Haha - I did an mmx version of this in assembler about twenty years ago for Konstantin Boldyshev's asmutils package. Doing things 8 bytes at a time made it ridiculously fast.
Nice! I did a size optimised version in assembler for MS-DOS a long time ago myself in 173 bytes: http://www.humbug.net/projects/download/demos/js-fire7.zip It's not the smallest fire I've seen but I thought it was the smallest that still looked nice.