Die Idee ist gut und so habe ich es umgesetzt. Ich hatte nur überlegt, dass canvas noch nahtloser wäre, statt jedesmal ein .bmp zu laden. Aber so funktioniert es ausreichend gut.
Kleine Frage noch nebenbei: lässt sich XMLHttpRequest so anpassen, dass der Garbagecollector nachkommt? Oder würde man den request irgendwie anders durchführen?