Remove jQuery usage from utility files
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Label this issue](https://contributors.gitlab.com/manage-issue?action=label&projectId=278964&issueIid=595395)
</details>
<!--IssueSummary end-->
> [!important]
> _This guidance was generated by GitLab Duo and may be inaccurate. Please verify before use._
## Summary
**Files:**
- `app/assets/javascripts/lib/utils/common_utils.js` (~768 lines, Light -- only 2 functions use jQuery)
- `app/assets/javascripts/lib/utils/scroll_utils.js` (~200 lines, Light -- single `instanceof $` check)
- `app/assets/javascripts/lib/utils/text_markdown.js` (~1102 lines, Medium)
Core utilities imported by hundreds of files.
## Implementation plan
- `common_utils.js`: Replace jQuery in `disableButtonIfEmptyField()` and `addSelectOnFocusBehaviour()` -- selectors, events, `.disable()` / `.enable()` → native equivalents
- `scroll_utils.js`: Remove `instanceof $` check once all callers pass DOM elements
- `text_markdown.js`: Replace scoped selectors and `.on()` / `.off()` → native listeners. Note: `$(textArea).atwho?.('isSelecting')` check depends on at.js removal (https://gitlab.com/gitlab-org/gitlab/-/issues/595397)
## Test areas
- `common_utils.js`: Form button disable-on-empty-field behavior across all forms
- `scroll_utils.js`: Scroll-to-element behavior (awards, diff notes, etc.)
- `text_markdown.js`: Markdown toolbar buttons, keyboard shortcuts for formatting, paste handling in markdown textareas
issue