Testando o programa reparei que ao soltar o mouse fora do canvas e então voltando para ele o pincel continuava pintando até segurar e soltar o mouse dentro do canva. Para resolver no comando tela.onmouseup eu tirei o tela. deixando só onmouseup, com isso sempre que solto o mouse fora ou dentro do canva ele desabilita a função desenho.
Assim creio que o motivo para o efeito pincel fantasma seja que com o tela.onmouseup ele só registra os que ocorrem dentro do canva.
Logo não seria necessário o tela. nem no comando tela.onmousedown assim eu poderia entrar com o mouse já em down no canva desenhando, o que com o tela. não ocorre se for iniciado um onmousedown fora do canva.
Então qual a necessidade do tela. nesse programa, nesses dois comandos?