USB: dynamically allocate usb_device children pointers instead of using a fix array