Also update tests to conform to the render rule. The render rule is that the call to `render` should only occur in the scope of an `onDrawFrame` or `onBeginFrame` call. As a side effect, this change also fixes a memory leak which occurs in tests using FakeAsync in the `flutter_test` environment (because they don't render anymore). Fixes https://github.com/flutter/flutter/issues/137073 Fixes https://github.com/flutter/flutter/issues/137669 [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style