React version: 0.0.0-f77c7b9d7

## Steps To Reproduce

1. Mount a component with even listeners in a `ShadowRoot`

Link to code example:

- [codesandbox with `react@next`](https://codesandbox.io/s/next-shadowroot-as-root-element-pkktc) (crashes)
- [codesandbox with `react@16.13.1`](https://codesandbox.io/s/16-shadowroot-as-root-element-m74ob) (mounts  without errors/warnings)


## The current behavior

Throws with 
> ensureListeningTo(): received a container that was not an element node. This is likely a bug in React.

## The expected behavior

1. throw with a descriptive error that ShadowRoot is no longer supported as a root element

or

2. continue to allow ShadowRoot as a root element

No preference here. This was just from an old regression test we had. 

Will be fixed by https://github.com/facebook/react/pull/15894
if (enableTrustedTypesIntegration && !didWarnScriptTags) {
          console.error(
            'Encountered a script tag while rendering React component. ' +
              'Scripts inside React components are never executed when rendering ' +
              'on the client. Consider using template tag instead ' +
              '(https:developer.mozilla.org/en-US/docs/Web/HTML/Element/template).',
          );
          didWarnScriptTags = true;
        }
      }
      div.innerHTML = '<script><' + '/script>'; 
      
      const firstChild = ((div.firstChild: any): HTMLScriptElement);
      domElement = div.removeChild(firstChild);
    } else if (typeof props.is === 'string') {
      
      domElement = ownerDocument.createElement(type, {is: props.is});
    } else {
      
      
      
      domElement = ownerDocument.createElement(type);