Avoid unregistering the JS Process actor ASAP on DevTools closing
as it may throw many exception if any RDP Request or JSProcess Actor
query is still pending after the devtools closing.
It required some tweaks in the parent process as WatcherActor.conn
may now be null because of shifted executions and we weren't correctly
unregistering it because of lack of `connectionPrefix`.
As well as some tweaks around `sharedData` to force persisting it across
processes, otherwise the content process may still hold now destroyed
watcher actor sessionData and keep instantiating actor.
Last, but not least, because there is some shift in precise execution
timings, I had to tweak docshell DOM event listeners as we may leave
listeners on docshell's window object when the cleanup method
is call after the docshell starts being destroyed and docshell.domWindow
is already null.
Differential Revision: https://phabricator.services.mozilla.com/D306953