When having one part of a duplicate linked object in edit mode the other
part didn't draw in edit mode. This used to be the case in b2.79-b2.81.
There are multiple related tickets that changed this part of the code to
reflect how it used to work.
The current change introduces a draw manager method that checks in detail who is responsible for the drawing (render engine or overlay engine).
If the edit mesh is not the original or the object that is drawn doesn't draw the original mesh the object will be drawn by the render engine.
Known Limitation of this patch is that the rendering outside edit mode doesn't reflect the latest changes until the user switches between object and edit mode.
When there are no modifiers in use, the updating is done immediately (no surface batches are used).
IMO this would be sufficient for blender 2.82, it also fixes T72733. The updating of the surface batches requires more development.