Refactor the focus synchronization logic to include pointer events and
ensure test stability when manipulating browser history.
- Add `pointerdown` event listener to `useQuestionInputFocusSync` to
improve input activation on touch/pointer devices
- Extract input activation logic into a dedicated `activateFocusedQuestionInput`
function for better readability
- Update `QuestionSheet` tests to reset window history state and use
asynchronous waiting for `pushState` calls to prevent race conditions
Enhance the user experience by allowing the browser's back button to
close active question sheets instead of navigating away from the page.
- Update `useSheetScrollLock` to manage history state using `pushState`
- Implement `popstate` event listener to trigger `onBack` callback
- Add support for an optional `onBack` option in the scroll lock hook
- Clean up redundant CSS rules related to `question-sheet-open`
- Add integration tests to verify sheet closure on `popstate` events