Introduce a new OSDWindow implementation, expose keyboard layout configuration, and modernize dependency handling and helper utilities.
- **New Features**
- Added `keyboard_layouts` list (`us`, `np`) to `config.json`
- Created `OSDWindow` class and updated `main.py` to use it
- Introduced new service modules (`battery`, `brightness`, `capslock`, `network`, `mpris`, `todo`, `modus`) and expanded `services/__init__.py`
- Added `CommandResult` and `run_command` helper in `utils/functions.py`
- **Enhancements**
- Upgraded numerous dependencies to newer versions and switched `fabric` to a git source
- Replaced bare `except:` with `except Exception:` in `WiFiPasswordDialog`
- Improved type hints (`NamedTuple`, `TypeVar`) and refactored JSON file helpers
- Added property notifications for battery percentage, state, and presence
- **Bug Fixes**
- Fixed incorrect return type annotation in `read_json_file`
- Corrected tick‑handler logic to avoid double registration
- Properly notify listeners on battery property changes
- Ensured proper exception handling and cleanup in utility functions
New Features
- Introduced OSD functionality integrated into the application.
Enhancements
- Removed unused stylesheet imports from main.css and corrected the stylesheet path to `styles/main.css`.
- Adjusted the lambda in the network service for consistent method invocation.
Bug Fixes
- Ensured `on_access_point_activated` is properly called when the active access point changes.
Migrate import statements to align with updated fabric utilities.
- New Features
- Enhancements
- Consolidate imports from gi.repository into fabric.utils for cleaner dependency management.
- Bug Fixes
Remove unused auth module and associated screenshot/OQR code logic.
Clean up network import statements and unused dependencies.
Minor cleanup in todo service to eliminate trailing whitespace.
New Features
- None
Enhancements
- Refactored network module imports.
- Streamlined todo service by removing dead code.
Bug Fixes
- None