Our own layout-by-layout memory loader only works with WebGL support.
In canvas 2D, most browsers are smart enough to implement dynamic texture management in a way which prevents them running out of memory (e.g. release textures which have not been used for a while if encountering an out of memory error). A problem with most DOM-less engines is they make absolutely no attempt to do this and so just crash. The problem is with Ejecta rather than C2, canvas2D doesn't provide a way for us to manually release a texture.