py,st3m: ViewManager: Decouple transitions from vm.replace
This allows more liberal use of vm.pop/push/replace from on_* callbacks, cleans up some non-obvious behavior on which view is considered active early in the transition and will make input handling easier in the future, as this ensures that the new view never receives the input state that caused it to become active.