> RotSpkr cleanup depends on what was allocated

Something like this:

```c
void rotspkr_cleanup(RotSpkr *rs) {
    if (rs->ringbuffer_h_R) free(rs->ringbuffer_h_R);
    if (rs->ringbuffer_h_L) free(rs->ringbuffer_h_L);
    // etc
}
```