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)
didWarnSetStateChildContext = true;
        break;
      case 'render':
        if (didWarnAboutStateTransition) {
          return;
        }
        warningWithoutStack(
          false,
          'Cannot update during an existing state transition (such as within ' +
            '`render`). Render methods should be a pure function of props and state.',
        );
        didWarnAboutStateTransition = true;
        break;
    }
  };
}
let lastUniqueAsyncExpiration: number = 0;
let expirationContext: ExpirationTime = NoWork;
let isWorking: boolean = false;
let nextUnitOfWork: Fiber | null = null;
let nextRoot: FiberRoot | null = null;
let nextRenderExpirationTime: ExpirationTime = NoWork;
let nextLatestAbsoluteTimeoutMs: number = -1;
let nextRenderDidError: boolean = false;
let nextEffect: Fiber | null = null;
let isCommitting: boolean = false;
let legacyErrorBoundariesThatAlreadyFailed: Set<mixed> | null = null;
 Used for performance tracking.
let interruptedBy: Fiber | null = null;
 Do not decrement interaction counts in the event of suspense timeouts.