title: Attribute type checking is lost after wrapping React component with injectIntl()
body: <p>Let's say I have a component <code>Card</code>, which looks like this:</p>
  
  <pre><code>import * as React from 'react';
  
  interface Props {
      title: string;
  }
  
  export class Card extends React.Component&lt;Props, null&gt; {
      public render() {
          return (
              &lt;div&gt;
                  {this.props.title}
              &lt;/div&gt;
          );
      }
  }
  </code></pre>
  
  <p>Now because of the props I have to use this component with the attribute <code>title</code>.</p>
  
  <pre><code>&lt;Card title="Example" /&gt;
  </code></pre>
  
  <p>I need to wrap this component with <code>injectIntl()</code> from <code>react-intl</code>, so the <code>intl</code> context is injected. I do this like that:</p>
  
  <pre><code>import * as React from 'react';
  import {injectIntl} from 'react-intl';
  
  interface Props {
      title: string;
  }
  
  class Component extends React.Component&lt;Props, null&gt; {
      // ..
  }
  
  export const Card = injectIntl(Component);
  </code></pre>
  
  <p>Now I can use the <code>Card</code> component without the attribute <code>title</code>.</p>
  
  <pre><code>&lt;Card /&gt;
  </code></pre>
  
  <p>This seems to be just fine for the typescript compiler. There are also no runtime errors. I expected that the compiler throws an error like this:</p>
  
  <pre><code>Property 'title' is missing in type '{}'.
  </code></pre>
  
  <p>Where does this behavior come from? Why is it like this? How to solve this problem?</p>
  
  <p>Thank you in advance!</p>