It should be very easy to implement in Ejecta. It's a bit tricky to implement it by hacking the C2 engine.
All Ejecta needs to do is:
1. when setting src, just store it, don't create a texture
2. if the image is used (e.g. passed to drawImage()),if the texture is not yet created, create it; if out of memory, release some textures that haven't been used for a while then try again.
Should be as simple as initialising the texture to a NULL pointer, adding a function 'checkLoadTexture', and calling it in a few strategic places (e.g. at the top of drawImage's implementation). Considering how straightforward it is, Ejecta really ought to support this. (CocoonJS ought to as well, but I think they decided to support it via WebGL instead.)