This implements the initial spreadsheet editor for T85879.
Getting the abstraction layers right for the MVP is a bit difficult, because it should be relatively simple, even though we know many things we want to add very soon.
For now I abstracted away the core drawing code in `spreadsheet_draw.cc`. It is responsible for drawing the table itself, and calls callbacks on a `SpreadsheetDrawer` instance for every visible cell. I expect this code to stay mostly the same for a while.
The code in `spreadsheet_from_geometry.cc` on the other hand will probably have to be reshuffled a couple more times in the near future to support the different features we planned (filtering, sorting, ...).
Supported features:
* Show point attributes of evaluated meshes (no original data, no other geometry types, no other domains, yet).
* Only show data for selected vertices when the mesh object is in edit mode.
* All data is readonly.
Todos:
* Update theme files for new editor type.
* Improve listeners in `space_spreadsheet.cc`.
{F9856497}