This is a follow up task for T76372.
All the code specific so some space types e.g. in write_area() can be moved to a callback on the space type.
- Add read and write callbacks to SpaceType.
- Call that from the read/write functions in screen.c.
- Split the space-type specific logic of the read/write functions in screen.c into implementations of the callback, assigned as part of the space-type creation (e.g. ED_spacetype_node()).