fix: properly release canvas/gl contexts when component unmounts
This fixes an issue that after reloading pixi-based visualizations for more than 16 times, the browser throws warnings.
Took a bit longer, matrixvis needed to be refactored a bit (app using useMemo instead of a global var, and subsequent changes), otherwise app would not even exist at the point of unmounting, hence no destroy method can be called. All done now though
Edited by Dennis Collaris