This PR is new implementation of JavaEvent listener memory management. Issue [JDK-8088420](https://bugs.openjdk.java.net/browse/JDK-8088420?filter=-1)
1. Calling remove event listener does not free jni global references. 2. When WebView goes out of scope (disposed from app) , its Event Listeners are not being garbage collected. Solution: 1. Detached the jni global reference from JavaEventListener. 2. Create scoped ref counted wrapper class JavaObjectWrapperHandler for jni global reference. 3. Create unique JavaObjectWrapperHandler object for each JavaEventListener. 4. EventListenerManager is a singleton class , which stores the JavaObjectWrapperHandler mapped with JavaEventListener. 5. EventListenerManager also stores the JavaEventListener mapped with DOMWindow. 6. When Event listener explicitly removed , JavaEventListener is being forwarded to EventListenerManager to clear the listener. 7. When WebView goes out of scope, EventListenerManager will de-registered all the event listeners based on the ref counts attached with WebView DOMWindow. ------------- Commit messages: - 8088420: JavaFX WebView memory leak via EventListener, code clean up - 8088420: JavaFX WebView memory leak via EventListener Changes: https://git.openjdk.java.net/jfx/pull/799/files Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=799&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8088420 Stats: 1148 lines in 11 files changed: 1142 ins; 3 del; 3 mod Patch: https://git.openjdk.java.net/jfx/pull/799.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/799/head:pull/799 PR: https://git.openjdk.java.net/jfx/pull/799