Building on top of #360

We could probably improve the search UX in a couple of ways:

* Visually indicate when the "match" is because of a HOC name, e.g.
<img width="161" alt="Screen Shot 2019-08-03 at 1 54 21 PM" src="https://user-images.githubusercontent.com/29597/62416804-36f32f00-b5f6-11e9-9150-e32f652c7f98.png">

* Match built-in HOC types (e.g. searching "me" should match `React.memo` HOCs, searching "f" should match `React.forwardRef`, etc.)

---
Originally reported via https://github.com/bvaughn/react-devtools-experimental/issues/365
act(() => store.toggleIsCollapsed(store.getElementIDAtIndex(0), true));
      expect(store).toMatchSnapshot('6: collapse root');
    });
    it('should not add new nodes when suspense is toggled', () => {
      const SuspenseTree = () => {
        return (
          <React.Suspense fallback={<Fallback>Loading outer</Fallback>}>
            <Parent />
          </React.Suspense>
        );
      };
      const Fallback = () => null;
      const Parent = () => <Child />;
      const Child = () => null;
      act(() =>
        ReactDOM.render(<SuspenseTree />, document.createElement('div')),
      );
      expect(store).toMatchSnapshot('1: mount');
      act(() => store.toggleIsCollapsed(store.getElementIDAtIndex(0), false));
      act(() => store.toggleIsCollapsed(store.getElementIDAtIndex(1), false));
      expect(store).toMatchSnapshot('2: expand tree');
      const rendererID = getRendererID();
      const suspenseID = store.getElementIDAtIndex(1);
      act(() =>
        agent.overrideSuspense({
          id: suspenseID,
          rendererID,
          forceFallback: true,
        }),
      );