Fixed memory leak by using weak listeners and making sure to undo everything that has been done to MenuBar/Skin in dispose().
------------- Commit messages: - 8294589: cleanup - 8294589: executeOnceWhenPropertyIsNonNull - 8294589: review comments - 8294589: fixed leak test - 8294589: menu bar skin memory leak Changes: https://git.openjdk.org/jfx/pull/906/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=906&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294589 Stats: 255 lines in 5 files changed: 166 ins; 47 del; 42 mod Patch: https://git.openjdk.org/jfx/pull/906.diff Fetch: git fetch https://git.openjdk.org/jfx pull/906/head:pull/906 PR: https://git.openjdk.org/jfx/pull/906