Agora a VM já toca sons:
http://gamewizard.cc/demo/5
Funciona ok no Google Chrome 11 e no Firefox 4.0.1. No Internet Explorer 9 não há som porque ele suporta .mp3, mas não .ogg, formato que utilizei neste demo (mais sobre isso a seguir).
Para criar o subsistema de audio, usei o recurso <audio> do HTML5. Eu já desconfiava que criar tal subsistema seria um tanto problemático... Mas a verdade é que foi um pesadelo. Os seguintes artigos recentes descrevem tal situação (abrem em nova janela):
“Probably, Maybe, No”: The State of HTML5 Audio
Phobolabs: The State of HTML5 Audio
Ou seja, o objeto Audio ainda não é excelente, apresentando uma série de problemas. Para completar, veja o quadro de compatibilidade, datado de algum tempo, mas extremamente ilustrativo, retirado do site w3schools.com:

A situação está dessa forma por causa de, penso eu, motivos políticos. É o preço que se paga por utilizar uma tecnologia muito recente. Entretanto, tenho certeza que isso melhorará com o tempo, não sendo portanto um impedimento para o projeto.
Como alternativa ao HTML5 Audio, poderiam ter sido usadas tags mais antigas, tais como: <embed>, <object>, ou com algum outro hack muito complicado. No entanto, nenhuma dessas opções daria o nível de controle sobre os sons necessário para um sistema de criação de jogos.
Outra opção seria usar uma biblioteca de JavaScript chamada SoundManager 2. Ela usa um fallback em Flash para tocar mp3/mp4, ou, se disponível, um sistema beta que usa HTML5. Descobri isso pois estudei tal tecnologia e cheguei a usá-la no tcc, porém...
1. O sistema BETA do SoundManager2 que usa o HTML5 é mais bugado que a tag <audio> em si;
2. O fallback em Flash funciona bem, mas não suporta ogg/wav e apresenta um delay considerável entre o momento em que você dá o comando e a apresentação do som [edit: sem falar que idealmente seria legal não usar quaisquer plugins...];
3. Eu não sou advogado, e espero que a disciplina de Direito e Software, se for oferecida no próximo semestre, ajude nesta minha dúvida. Se você souber a resposta, por favor, mande um comentário! Apesar de a biblioteca ser distribuída sobre uma licença livre (BSD), como ela inclui um programa em flash que é capaz de tocar mp3, eu teria que pagar royalties ao detentor da patente? De acordo com a wikipedia,
"Para produzir, vender e/ou distribuir produtos que se utilizem do padrão MPEG-1/2 Audio Layer 3 e, portanto, de suas respectivas patentes, é necessário obter uma licença."
Minha pergunta ainda vai mais longe: de acordo com o quadro acima, o <audio> do IE9 só toca .mp3. Se eu criar um site que toca uma .mp3, tenho que pagar royalties?
Enfim, usei um tempão para fazer experimentos com essa biblioteca, mas devido aos motivos citados acima, simplesmente joguei todo o trabalho fora. No fim das contas tive que escrever minha própria lib responsável pelo gerenciamento de audio, usando diretamente o HTML5 Audio, o que foi bastante complicado. E eu nem falei da pré-carga dos arquivos de som: outra dor de cabeça.
Conclusão: esta tarefa levou muito mais tempo que o alocado, o que atrapalhou um pouco o cronograma deste semestre.