Factors canvasContext out of entities, instead passing it in via entity.render.