feat(langchain): todo middleware (#33152)
Porting the [planning
middleware](https://github.com/langchain-ai/deepagents/blob/39c0138d0fdb2f8dc6a02606931cac2ffb777aff/src/deepagents/middleware.py#L21)
over from deepagents.
Also adding the ability to configure:
* System prompt
* Tool description
```py
from langchain.agents.middleware.planning import PlanningMiddleware
from langchain.agents import create_agent
agent = create_agent("openai:gpt-4o", middleware=[PlanningMiddleware()])
result = await agent.invoke({"messages": [HumanMessage("Help me refactor my codebase")]})
print(result["todos"]) # Array of todo items with status tracking
```