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.
Eu escrevi esse codigo/tutorial antes de 2010.
Não existia o chrome.
Eu usava o internet explorer e a galera da faculdade falava pra eu mudar pro firefox que tinha abas.