Inconsistent Audio Output
On my machine WASM-4 produces inconsistent audio output.

Simple example cart:

```zig
const w4 = @import("wasm4.zig");
var tick: usize = 0;
export fn start() void {}
export fn update() void {
    tick += 1;
    switch (tick) {
        10 => {
            w4.tone(262, 60, 50, 8);
        },
        70 => {
            w4.tone(262, 60, 50, 8); // square
            w4.tone(262, 60, 50, 2); // triangle
        },
        130 => {
            w4.tone(262, 60, 50, 2);
        },
        else => {},
    }
}
```

About 1 in 3 times when loading (or reloading) this cart it plays completely different audio.
I can reproduce this issue in firefox and linux native. I have not tried other runtimes.

Audio Sample (linux native):

https://github.com/aduros/wasm4/assets/18194808/a445f1d7-a9d1-4774-b070-adb43d131274

I'm not sure what's going on here. Especially the middle note seems affected. Sometimes the distortion is subtle and sometimes it's very noticable, with a bit of randomness.

Pre-built Cart + HTML + Linux Binary:
[binary.zip](https://github.com/aduros/wasm4/files/13520426/binary.zip)

WASM4 Version:
yesterday's master + my unrelated patches from #677 ([history](https://github.com/aduros/wasm4/commits/5063e90d7fc592fae5a1168cbfd19ca7473a697d))