We used to throw if event listener is not a function in Stack:

```js
ReactDOM.render(
  <h1 onClick={{}}>Hello World!</h1>,
  document.getElementById('container')
);
```

<img width="565" alt="screen shot 2017-08-08 at 3 41 08 pm" src="https://user-images.githubusercontent.com/810438/29077502-2646412e-7c50-11e7-8c99-3b7f6c0a2589.png">

Fiber silently ignores this.

I think we should throw. This would let us add support for objects (e.g. for passive listener configuration) if we want to in a minor rather than a major.
break;
      case 'textarea':
        lastProps = ReactDOMFiberTextarea.getHostProps(
          domElement,
          lastRawProps,
        );
        nextProps = ReactDOMFiberTextarea.getHostProps(
          domElement,
          nextRawProps,
        );
        updatePayload = [];
        break;
      default:
        lastProps = lastRawProps;
        nextProps = nextRawProps;
        if (
          typeof lastProps.onClick !== 'function' &&
          typeof nextProps.onClick === 'function'
        ) {
          
          trapClickOnNonInteractiveElement(((domElement: any): HTMLElement));
        }
        break;
    }
    assertValidProps(tag, nextProps, getCurrentFiberOwnerName);
    var propKey;
    var styleName;
    var styleUpdates = null;
    for (propKey in lastProps) {
      if (