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)
let renderer;
        SchedulerTracing.unstable_trace(eventOne.name, mockNow(), () => {
          SchedulerTracing.unstable_trace(eventTwo.name, mockNow(), () => {
            renderer = ReactTestRenderer.create(<Component>text</Component>, {
              unstable_isAsync: true,
            });
          });
        });
        expect(onInteractionScheduledWorkCompleted).not.toHaveBeenCalled();
        throwInOnInteractionScheduledWorkCompleted = true;
        expect(() => {
          renderer.unstable_flushAll(['Component:text']);
        }).toThrow('Expected error onInteractionScheduledWorkCompleted');
        
        
        expect(onInteractionScheduledWorkCompleted).toHaveBeenCalledTimes(2);
      });
    });
    it('should associate traced events with their subsequent commits', () => {
      let instance = null;
      const Yield = ({duration = 10, value}) => {
        advanceTimeBy(duration);
        ReactTestRenderer.unstable_yield(value);
        return null;
      };
      class Example extends React.Component {
        state = {
          count: 0,
        };
        render() {