I'm not sure, but I think you can already accomplish this by adding an array of elements to a single layer, instead of adding 10 separate layers. This is how I composite all of my background layers:
Hmm, I don't think I've tested that specific case for performance. I'll have to do that, and compare to using a separate canvas.
Unfortunately, I'm not seeing any speedup when using a single layer with many images in it compared to a layer per image. with 40 randomly sized and colored triangles, all with separate files located in tmp:/, I see zero performance difference. That is to say, I can count to 4 between the call to setLayer() and the image actually showing on the screen when there's that many images already displayed.
What's more, I've determined that if you call allowupdates(false), add items to teh canvas, then call allowupdates(true), show(), allowupdates(false), nothing is displayed. That is, since show is non-blocking, and allowupdates is a state changing method, it can set the state of the canvas back to non-updating before anything displays. This means if you want the default state of the canvas to be non-updating, you need to wait an arbitrary amount of time after calls to show() (because it takes different amounts depending on what's displayed) to ensure the updates have happened, and THEN set the display state to non-updating.
We REALLY need an event denoting image canvas has finished compositing images. Preferably with a blocking show-like method (or an optional argument to make show() block) to boot, so people can pick their poison.