Promoted msgutils venv to project-level Python venv shared by all components.
- Added cmake/PythonVenv.cmake which creates a project-wide venv at ${CMAKE_BINARY_DIR}/.venv and provides a register_python_package() helper.
- Included PythonVenv.cmake from the top-level CMakeLists.txt so the venv is available before any subdirectory is added.
- Stripped per-component venv setup from lib/MsgUtils/CMakeLists.txt and replaced it with register_python_package(${MSGUTILS_SCRIPTS_DIR}).
- Replaced MSGUTILS_PYTHON references in lib/MsgUtils/cmake/MsgUtils.cmake with PROJECT_PYTHON.
- register_python_package re-runs pip install only when pyproject.toml changes, keyed off a stamp file under build/python-venv-stamps/.