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)
state = {error: null};
                  static getDerivedStateFromCatch(error) {
                    return {error};
                  }
                  render() {
                    advanceTimeBy(2);
                    return this.state.error === null ? (
                      this.props.children
                    ) : (
                      <AdvanceTime byAmount={20} />
                    );
                  }
                }
                advanceTimeBy(5); 
                ReactTestRenderer.create(
                  <React.unstable_Profiler id="test" onRender={callback}>
                    <ErrorBoundary>
                      <AdvanceTime byAmount={5} />
                      <ThrowsError />
                    </ErrorBoundary>
                  </React.unstable_Profiler>,
                );
                expect(callback).toHaveBeenCalledTimes(1);
                
                let [mountCall] = callback.mock.calls;
                
                
                expect(mountCall[1]).toBe('mount');