More fixes to handle suspend/resume/quit.
Lots of new info thanks to Hieu.
So first, we needed to know the difference between a heavyweight and lightweight window. Lightweights don’t have listener callbacks. They are also removed in 3.2.0. Setting fullscreen or navbar will force fullscreen.
Next we need to listen for the open callback before registering the other callbacks.
Next, we need the exitOnClose for heavyweight windows, otherwise we always get the launch screen.

I also removed onDestroy/ALmixer_Quit() because the ordering was non-deterministic and I crashed some times. Instead, the native side of the module does some cheats to try to avoid crashes with the new QuitWithoutFreeData hack.
Fixed order of open and event listener so the open event can't accidentally be missed (race condition).
Merge branch 'fancyaudio' into NyanCat