sysctl_handle_string does not actually work on a double pointer.
Implement a handler that manages a dynamically allocated string instead of a static one.
This is required for hw.amdgpu.virtual_display.
Theoretically this code should even support read-write sysctls, but we only have boot-time-only tunables in amdgpu.
Related to: https://github.com/freebsd/drm-kmod/issues/134
BTW, can someone please document what exactly are the "indexes" (oldidx/newidx) in the sysctl req struct? sysctl_handle_string fiddles with them but I don't understand why.