Remove ELists and have Es do their own child management. This flattens the call hierarchy for some minor speed gains, but also stops v8 from bailing out due to awkward chains of apply calls. (I don't really understand what's happening but it's like 30% faster now.)
Rather than requesting renderables, send a message to queue renderables along with the layer list. This removes most of the effort spend building intermediate arrays.