On a Windows XP laptop with the newest version of Chrome, the sounds played appropriately. Same for Mac. As for the lines between tiles, that is not something I can fix; it is a problem with the browser's HTML rendering. Thanks for the feedback!
Yes, unfortunately each tile is an object. I am going to optimize the game so it can run on earlier generation devices. Lower memory impact is one of my priorities.
You could store the map in strings representing, say, 16x16 tiles each. You'll have to replace the entire string when a tile changes, but that shouldn't be a big deal if they are only 256 chars. And you might be able to pack multiple tiles in a single char.
Or just use an array of ints, if you can be sure that they are stored as primitives.
I've noticed two problems in Chrome 16 on WinXP:
1. Each kind of sound is only played once, the first time it is triggered. Afterwards the game is completely silent.
2. If you zoom in, a white frame appears between the tiles (I understand that this may not be a top priority).