Engram: Local-First Semantic Long-Term Memory for AI Agents