* We could put everything onto the replay thread but that's unnecessary back-
and-forth pingponging for a local capture.
* This is safe to use on the UI thread if it's local, but if it's remote it uses
the same connection as the replay controller so must happen on the replay
thread.
* We add a new helper (not exposed to swig) that handles this check, and for
python we wrap the returned ICaptureAccess in an invoker that ensures we are
on one of those threads.
* In a previous update in 2021 many copyright ranges were truncated
accidentally, and some files have been copy-pasted with wrong years. These
dates have been fixed based on git history and original copyright messages.
* The defaults can be configured from the settings menu, and there's a new "Open
Capture with Options" menu option to open a capture with different options
temporarily.