- Add ServiceEnvironment.swift with 9 EnvironmentKeys for runtime services
(stateStorage, lifecycle, keyEventDispatcher, renderCache, preferenceStorage,
pulsePhase, cursorTimer, focusIndicatorColor, activeFocusSectionID)
- Remove tuiContext, pulsePhase, cursorTimer, focusIndicatorColor, and
activeFocusSectionID as direct RenderContext properties
- Inject all services through EnvironmentValues in RenderLoop.buildEnvironment()
- Add convenience RenderContext init that accepts TUIContext and auto-injects
services into the environment
- Simplify isolatedForBackground() to only swap environment values
- Migrate ~49 access sites in ~25 source files from context.tuiContext.X and
context.pulsePhase/cursorTimer to context.environment.X
- Update 38 test files to use the new convenience init