feat(local-llm): Phase 2 — rich metadata + persistence (N4-N5, BN3-BN4)
N4: RamBudgetBar component — stacked horizontal bar showing OS+Apps,
loaded models (by name with color), and free memory segments
N5: Context window size — extract context_length from /api/show
model_info, cache in modelMetadata state, display on card
BN3: Persist chat messages to localStorage (llm-chat-{model}),
restore on modal re-open, capped at 50 messages
BN4: Logs panel refresh button — RefreshCw icon next to toggle