Event listener leak in the WebViewPluginDemoGUI

I noticed an event listener leak in WebViewPluginDemoGUI — the mousemove listener is attached in the component body instead of inside a useEffect, so a new listener is added on every render and never cleaned up.

Happy to submit a PR moving it into a useEffect with an empty dependency array and a cleanup function.