Draft: context: Simplify handling of removal signals
We used to notify device removed signal in an idle to ensure that this happened before the context device-removed signal, however this can be achieved also using the after-callbacks without having to imply further idles that complicates the context destruction handling, also causing that a device that has been removed is returned by get_devices() for longer than expected.
Simplify the codepath adjusting the tests. They are still checking that the order is preserved.
/cc @benzea, am I missing some other reason here?