Fix logic mistake causing crashes with superfluous GPU dirty data

* IF we are ref'ing all resources, we want to serialise GPU dirty resources
  regardless if they're in m_FrameReferencedResources. If we are NOT
  then we can skip out.
Set sockets to be specifically non-inheritable

* This means if a process with a remote connection creates a child process
  we don't have the socket stay open zombie-like.
Pass through child processes via remote access to UI. Refs #78
Make better use of space when help is toggled off
Connection dialog now follows child processes launched. Closes #78

* Whenever a child process is hooked, that's passed back up to the UI and
  a list is shown with all the child processes of the one you are connected
  to in the dialog.
* At any point you can double click to create a new dialog latched to that
  process.
* If the process you're attached to closes and has one child, similar to if
  you only have one capture made the dialog will close itself and open a
  new connection to the child process. This is the case for e.g launcher ->
  editor
* This behaviour is overridden if you made a capture, as it assumes you
  then don't care about the child processes and instead want to open the
  capture. You can always do file -> attach later.
* If it has multiple children when the process closes, the dialog stays
  open to allow you to peruse the list and maybe open up a connection to
  one of the children.