In Go 1.22 and earlier, a ticker needs to be explicitly stopped
when it's no longer useful in order to avoid a resource leak.
In Go 1.23 and later, an orphaned ticker will eventually be
garbage collected, but it's still more thrifty to stop it early.
At the current state of the code the deadlock is not achievable,
but if 'bufferedAmountLowThreshold' and 'maxBufferedAmount' were to
get changed up, it could happen.
Example: If 'bufferedAmountLowThreshold = 1024',
'maxBufferedAmount = 1280', then if a message of len 999 is sent,
'BufferedAmount()' could return '999', and the condition would still
evaluate to 'true' (999 + 999 > 1280).
Since 'bufferedAmountLowThreshold' was never exceeded, the
'OnBufferedAmountLow' event would never fire, so we're stuck.
Use wasm_exec.js in GOROOT to ensure that the wasm file be loaded,
there is no need to use a specific version of go to build wasm,
and delete vendor-wasm.