Thanks for your ideas! This is my plan:
It will be possible to copy, cut and paste any selection. These selections can, on their part, be saved as separate pictures, and likewise loaded and inserted into the current project.
(Selections can also be moved, rotated, scaled, and so on.)
As for overlays, perhaps they could just be loaded and saved as selections (?).
Splitting pictures up is an interesting idea. Splitting lines would not be a problem, but dividing fills would certainly be a hard row to hoe. Probably too hard for me.
I will gladly share all my code, as soon as I have a solid codebase. My intentions are entirely idealistic, and thus everyone with interest in this project will be an influence.