Summary of changes from 0.3.x:
* Added `environment` module with `BaseEnvironment` abstraction
* Simplified APIs of `Actor` and `Memory` (breaking change)
* Renamed `Context` to `TracingNode` for a clearer naming
* Refactored TracingNode, related colab/jupyter extensions, and browser server to independent module `treetrace`
* Removed our OpenAI and Anthropic API wrappers (in favor of langchain wrappers)
* Updated memory implementations of summarizing and associative (embedding) memory
* Updated notebooks and examples, rewrote car_negotiation example notebook with environments
* Added tests, updated docs and user guide
* Updated and pruned dependencies