This change makes blockers and screens a bit more explicit. Gdscript interacting with objects in the scene go through either the ScreenManager (to look at ALL objects) or a specific Screen (to look at objects for only that screen). Rather than trying to manage blocking objects in the stack, each blocking object is assigned to a given script that it is blocking. Save functions updated to support this, saving those blockers along with the script so that loading a scene with multiple screens and blocking objects reproduces more accurately.
This change makes blockers and screens a bit more explicit. Gdscript interacting with objects in the scene go through either the ScreenManager (to look at ALL objects) or a specific Screen (to look at objects for only that screen). Rather than trying to manage blocking objects in the stack, each blocking object is assigned to a given script that it is blocking. Save functions updated to support this, saving those blockers along with the script so that loading a scene with multiple screens and blocking objects reproduces more accurately.
A few other bugs were fixed along the way.