### Summary

 When we updated `Display` to proxy over the queue for dispatch by the main process in https://github.com/ansible/ansible/pull/77056, we ended up losing some context, since we only proxy the `Display.display` method, and not all methods individually.

We need to add some functionality to `Display` to preserve this context, whether that means shipping additional information across the queue, or proxying all methods instead of just `Display.display`.

This has impacts on ansible-runner, and input should be taken to evaluate the best option.

### Issue Type

Feature Idea

### Component Name

lib/ansible/utils/display.py

### Additional Information

TBD

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
""" Display a message to the user
        Note: msg *must* be a unicode string to prevent UnicodeError tracebacks.
        """
        if not isinstance(msg, str):
            raise TypeError(f'Display message must be str, not: {msg.__class__.__name__}')
        if self._final_q:
            
            
            
            return self._final_q.send_display(msg, color=color, stderr=stderr,
                                              screen_only=screen_only, log_only=log_only, newline=newline)
        nocolor = msg
        if not log_only:
            has_newline = msg.endswith(u'\n')
            if has_newline:
                msg2 = msg[:-1]
            else:
                msg2 = msg
            if color:
                msg2 = stringc(msg2, color)
            if has_newline or newline:
                msg2 = msg2 + u'\n'
            
            
            if not stderr: