Muito bacana teu post Rodrigo, é muito massa criar joguinhos com JavaScript!
Umas dicas:
Usar reset
ao invés de fillRect
para limpar o canvas.
canvas.reset()
Isso é opcional, mas ao invés de definir uma variável com nome "canvas" defina com "context", geralmente se define com esse nome.