[sdk] Fix infinite recursion in ViewContainerListenerImpl.

This causes infinite recursion:

factory ViewContainerListenerImpl() {
   return _instance ??= ViewContainerListenerImpl();
}

Testing: Manual.

Change-Id: Ifc00ca1bf7b2377545d8097414e64b8b244a6d96
diff --git a/public/dart/fuchsia_scenic_flutter/lib/src/child_view_connection.dart b/public/dart/fuchsia_scenic_flutter/lib/src/child_view_connection.dart
index 379db7d..8af9619 100644
--- a/public/dart/fuchsia_scenic_flutter/lib/src/child_view_connection.dart
+++ b/public/dart/fuchsia_scenic_flutter/lib/src/child_view_connection.dart
@@ -32,7 +32,7 @@
   }
   final ViewContainerProxy proxy = ViewContainerProxy()
     ..ctrl.bind(InterfaceHandle<ViewContainer>(Channel(handle)))
-    ..setListener(ViewContainerListenerImpl().createInterfaceHandle());
+    ..setListener(ViewContainerListenerImpl.instance.createInterfaceHandle());
 
   assert(() {
     proxy.ctrl.whenClosed.then((_) async {
diff --git a/public/dart/fuchsia_scenic_flutter/lib/src/internal/_view_container_listener_impl.dart b/public/dart/fuchsia_scenic_flutter/lib/src/internal/_view_container_listener_impl.dart
index 9ba4b3e..3f4d5c1 100644
--- a/public/dart/fuchsia_scenic_flutter/lib/src/internal/_view_container_listener_impl.dart
+++ b/public/dart/fuchsia_scenic_flutter/lib/src/internal/_view_container_listener_impl.dart
@@ -11,18 +11,15 @@
 
 /// A singleton class that allows receive events from the view container.
 class ViewContainerListenerImpl extends ViewContainerListener {
-  static ViewContainerListenerImpl _instance;
+  /// The shared [ViewContainerListenerImpl] instance.
+  static final ViewContainerListenerImpl instance =
+      new ViewContainerListenerImpl();
 
   static final Map<int, ChildViewConnection> _connections =
       HashMap<int, ChildViewConnection>();
 
   final ViewContainerListenerBinding _binding = ViewContainerListenerBinding();
 
-  /// Initializes the shared [ViewContainerListenerImpl] instance
-  factory ViewContainerListenerImpl() {
-    return _instance ??= ViewContainerListenerImpl();
-  }
-
   /// adds a [ChildViewConnection] for a given [key]
   void addConnectionForKey(int key, ChildViewConnection connection) {
     _connections[key] = connection;