pub unsafe fn new(
        view: *mut c_void,
        activation_handler: impl 'static + ActivationHandler,
        action_handler: impl 'static + ActionHandler,
    ) -> Self {
        let view = view as *mut NSView;
        let retained_view = unsafe { Id::retain(view) }.unwrap();
        Self::new_internal(retained_view, activation_handler, action_handler)
    }
Create an adapter that dynamically subclasses the specified view.
This must be done before the view is shown or focused for
the first time.

The action handler will always be called on the main thread.

# Safety

`view` must be a valid, unreleased pointer to an `NSView`.
platforms/macos/src/subclass.rs