Flutter run restart (#4105)

* working on making a faster flutter run restart

* clean up todos; fire events on isolate changes

* use the Flutter.FrameworkInitialization event

* review comments
diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart
index 3528682..f67c0d3 100644
--- a/packages/flutter_tools/lib/src/device.dart
+++ b/packages/flutter_tools/lib/src/device.dart
@@ -13,6 +13,7 @@
 import 'base/utils.dart';
 import 'build_info.dart';
 import 'globals.dart';
+import 'observatory.dart';
 import 'ios/devices.dart';
 import 'ios/simulators.dart';
 
@@ -185,6 +186,15 @@
     Map<String, dynamic> platformArgs
   });
 
+  /// Restart the given app; the application will already have been launched with
+  /// [startApp].
+  Future<bool> restartApp(
+    ApplicationPackage package,
+    LaunchResult result, {
+    String mainPath,
+    Observatory observatory
+  });
+
   /// Stop an app package on the current device.
   Future<bool> stopApp(ApplicationPackage app);