Both the consumers just do this manually. The context here is sometimes an
XPCWrappedJS, so passing it around with nsCOMPtrs off-main-thread can't
happen anymore.
We add assertions in OnStartRequest/OnStopRequest to catch any consumers
that might try to change contexts midstream.
I'm doing this so that I can safely make this class use nsMainThreadPtr{Handle,Holder}.
There's no theoretical reason why we couldn't support other threads here, but it
would mean implementing that functionality in the PtrHolders, renaming them, and
weakening their assertions/invariants. AFAICT the consumers here don't actually have
a reason to proxy events anywhere but the main thread, so I'm just going to do this
rather than writing code to support something that we don't do (and thus can't test).