When a shared library gets unloaded, call `+[unload]` on all classes contained in that shared library. This will need a compiler change to not only create a constructor that calls into `__objc_exec_class` as is currently done, but also a destructor that calls into something like `__objc_unexec_class` (name TBD).

It's unclear if this is possible at all with the Apple runtime. It might be that this can only be made possible with the Apple runtime when using `OFPlugin`.