glocalfilemonitor: Keep a weak ref to the monitor in GFileMonitorSource
glocalfilemonitor: Keep a weak ref to the monitor in GFileMonitorSource

Previously we were keeping a pointer to the `GFileMonitor` in a
`GFileMonitorSource` instance, but since we weren’t keeping a strong
reference, that `GFileMonitor` instance could be finalised from another
thread at any point while the source was referring to it. Not good.

Use a weak reference, and upgrade it to a strong reference whenever the
`GFileMonitorSource` is referring to the file monitor.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #1903

endlessm/glib,endlessm/glib,endlessm/glib,endlessm/glib,endlessm/glib