Fixes an issue where E2E tests reported 100% success on isolated navigation
actions, but the bot would get stuck in deterministic loops (HOME -> EXPLORE -> PROFILE -> HOME)
during live autonomous execution.
1. Added `visited_screens` tracking to the primary GOAP step execution loop.
2. Updated GoalPlanner to preemptively strip available UI actions if the ScreenTopology
dictates that taking the action would lead to a screen we have already visited in the
current goal execution.
3. Explicitly permits 'press back' to preserve valid dead-end backtracking.