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, ...).
Todos:
* Update theme files for new editor type.
* Improve listeners in `space_spreadsheet.cc`.
{F9856497}