Under certain conditions we decrement the `__count` attribute too often, which can result in `onInteractionScheduledWorkCompleted` being called prematurely and/or more than once for a given interaction.

- [x] Track interactions scheduled during (sync) render phase.
- [x] Do not double-decrement suspense loads within a sync render.
- [x] Do not decrement sync commits that are waiting on suspense when the `Placeholder` is past its expiration.
- [x] Properly decrement pending interaction count when a suspense resource loads before its placeholder is shown.
- [x] Add test with high priority render between suspended and resolved suspense states (for both sync and async rendering)
ReactTestRenderer.unstable_yield('Component:' + children);
          return children;
        }
        let renderer;
        SchedulerTracing.unstable_trace('event', mockNow(), () => {
          renderer = ReactTestRenderer.create(<Component>text</Component>, {
            unstable_isAsync: true,
          });
        });
        onWorkStarted.mockClear();
        
        throwInOnWorkStarted = true;
        expect(() => {
          expect(renderer).toFlushAll(['Component:text']);
        }).toThrow('Expected error onWorkStarted');
        throwInOnWorkStarted = false;
        expect(onWorkStarted).toHaveBeenCalled();
        
        expect(renderer).toFlushAll([]);
        const tree = renderer.toTree();
        expect(tree.type).toBe(Component);
        expect(tree.props.children).toBe('text');
      });
      it('should cover errors thrown in onWorkStopped', () => {
        function Component({children}) {