fix: pass renderer canvas to GL manager to avoid creating duplicate canvas