Overlapping windows are the thing that maximized the use of a small screen, because they let you dedicate as much or as little of the screen to any given application when its window is on top.
What you are after, rather, is an efficient way of having the entirety of the windows of multiple apps on screen simultaneously. That's a slightly different problem. I personally get by with a combination of cascaded windows[1] and maximized windows with quick keyboard window switching.
[1] When you cascade windows such that the bottom left corner of each window forms a diagonal line across the bottom left edge of the screen, you can quickly select whatever window you want with a mouse, usually more efficiently than with a task bar, since the application identity is far more obvious when you can see a rectangle of its contents. And with choice of where each window is in the cascade order, you can get usable data out of multiple windows simultaneously.