refactor: replace global.p3x.onenote with module registry pattern}
- Introduce registry.mjs modules (main process and renderer) to replace
global.p3x.onenote mutable global state with explicit module imports
- Update all main process files (action, app-events, create/menu,
create/tray, create/window/onenote, ipc-main, menus, set-visible,
actions/set-proxy) to import and use registry instead of global.p3x
- Update all renderer process files (load, tab-manager, ui, ipc/handler,
multi-actions, get-location, toast, set-proxy, load-proxy) likewise
- Add vitest testing infrastructure with vitest.config.mjs and 9 test
suites: bookmark-tree, dark-theme, natural-compare, package-integrity,
registry, session-clear, tab-state, translations, url-helpers
- Add dedicated GitHub Actions test.yml workflow for unit tests on all
branches and integrate test step into existing build.yml before grunt
- Add vitest ^4.1.2 as devDependency; update npm test script to run
vitest instead of grunt
- Exclude test/, vitest.config.mjs, agents/, and AGENTS.md from npm
package and electron-builder output