Started rewriting the canvas renderer so that it's just like the svg one