Use context manager for Scope (#11053)
Related issue: #1184
Follows up to #10569, #10685
This PR:
* Refactors `Scope`
- Replaces `Scope.enter_file` with `Scope.module_scope`
- Replaces `Scope.enter_function` with `Scope.function_scope`
- Splits `Scope.leave()` into corresponding context manager
* Deletes unused files