Mixin Entity Render Dispatcher
Drives the renderEntity / postRenderEntity triggers and JIM's Tessellator matrix API.
extractEntity produces the (entity-less) render state, so we stash the source entity on it there. submit is the dispatcher's per-entity wrapper — it does pushPose(); translate(toEntity); renderer.submit(...); ...; popPose(). By wrapping the inner EntityRenderer.submit call we let scripts push a scale/rotation onto the pose that affects only the entity model (not its shadow/flame), positioned at the entity's own origin.