Fit typo in `throwFristError`
Minor refactoring

- More robust node.js and `MutationObserver` detection.
- Simpler and safer check for `setImmediate`.
Use own check for globals leeks.
Minify