[canvas] Don't create new Paint when TextElement swaps hosts