all: support hiding subconvo output

Some of it is systematically noisy.
diff --git a/llm/conversation/convo.go b/llm/conversation/convo.go
index 5a12256..7860a07 100644
--- a/llm/conversation/convo.go
+++ b/llm/conversation/convo.go
@@ -79,6 +79,9 @@
 	// The Conversation DOES NOT automatically enforce the budget.
 	// It is up to the caller to call OverBudget() as appropriate.
 	Budget Budget
+	// Hidden indicates that the output of this conversation should be hidden in the UI.
+	// This is useful for subconversations that can generate noisy, uninteresting output.
+	Hidden bool
 
 	// messages tracks the messages so far in the conversation.
 	messages []llm.Message