Introduce an `Arena` to allocate and deallocate frame-related structs more cheaply (#3689)

Picture worth a thousand words:


![before-after](https://github.com/zed-industries/zed/assets/482957/0aa92baf-f1cd-485e-a234-6d8f8b63a79a)

Note how having an area makes a substantial amount of frames between
0.5ms and 1ms faster (15-20% faster frames).

Release Notes:

- N/A
4e544545d1Antonio Scandurra committed on 12/18/2023, 10:16:07 AM· committed by GitHubparents29c60615a4e2e6
5 files changedLine totals unavailable