Update GestureDetector docs to use DartPad sample (#85148)

This removes the broken video for GestureDetector, and replaces it with a Dartpad sample, for both samples in GestureDetector.
diff --git a/packages/flutter/lib/src/widgets/gesture_detector.dart b/packages/flutter/lib/src/widgets/gesture_detector.dart
index f8d8173..d9caf37 100644
--- a/packages/flutter/lib/src/widgets/gesture_detector.dart
+++ b/packages/flutter/lib/src/widgets/gesture_detector.dart
@@ -127,67 +127,81 @@
 /// effects. The [InkWell] class implements this effect and can be used in place
 /// of a [GestureDetector] for handling taps.
 ///
-/// {@animation 200 150 https://flutter.github.io/assets-for-api-docs/assets/widgets/gesture_detector.mp4}
+/// {@tool dartpad --template=stateful_widget_material}
 ///
-/// {@tool snippet}
-///
-/// This example of a [Container] contains a black light bulb wrapped in a [GestureDetector].
-/// It turns the light bulb yellow when the "turn lights on" button is tapped
-/// by setting the `_lights` field. Above animation shows the code in use:
+/// This example contains a black light bulb wrapped in a [GestureDetector]. It
+/// turns the light bulb yellow when the "TURN LIGHT ON" button is tapped by
+/// setting the `_lights` field, and off again when "TURN LIGHT OFF" is tapped.
 ///
 /// ```dart
-/// Container(
-///   alignment: FractionalOffset.center,
-///   color: Colors.white,
-///   child: Column(
-///     mainAxisAlignment: MainAxisAlignment.center,
-///     children: <Widget>[
-///       Padding(
-///         padding: const EdgeInsets.all(8.0),
-///         child: Icon(
-///           Icons.lightbulb_outline,
-///           color: _lights ? Colors.yellow.shade600 : Colors.black,
-///           size: 60,
-///         ),
+/// bool _lightIsOn = false;
+///
+/// @override
+/// Widget build(BuildContext context) {
+///   return Scaffold(
+///     body: Container(
+///       alignment: FractionalOffset.center,
+///       child: Column(
+///         mainAxisAlignment: MainAxisAlignment.center,
+///         children: <Widget>[
+///           Padding(
+///             padding: const EdgeInsets.all(8.0),
+///             child: Icon(
+///               Icons.lightbulb_outline,
+///               color: _lightIsOn ? Colors.yellow.shade600 : Colors.black,
+///               size: 60,
+///             ),
+///           ),
+///           GestureDetector(
+///             onTap: () {
+///               setState(() {
+///                 // Toggle light when tapped.
+///                 _lightIsOn = !_lightIsOn;
+///               });
+///             },
+///             child: Container(
+///               color: Colors.yellow.shade600,
+///               padding: const EdgeInsets.all(8),
+///               // Change button text when light changes state.
+///               child: Text(_lightIsOn ? 'TURN LIGHT OFF' : 'TURN LIGHT ON'),
+///             ),
+///           ),
+///         ],
 ///       ),
-///       GestureDetector(
-///         onTap: () {
-///           setState(() {
-///             _lights = true;
-///           });
-///         },
-///         child: Container(
-///           color: Colors.yellow.shade600,
-///           padding: const EdgeInsets.all(8),
-///           child: const Text('TURN LIGHTS ON'),
-///         ),
-///       ),
-///     ],
-///   ),
-/// )
+///     ),
+///   );
+/// }
 /// ```
 /// {@end-tool}
 ///
-/// {@tool snippet}
+/// {@tool dartpad --template=stateful_widget_material}
 ///
-/// This example of a [Container] wraps a [GestureDetector] widget.
-/// Since the [GestureDetector] does not have a child it takes on the size of
-/// its parent making the entire area of the surrounding [Container] clickable.
-/// When tapped the [Container] turns yellow by setting the `_color` field:
+/// This example uses a [Container] that wraps a [GestureDetector] widget which
+/// detects a tap.
+///
+/// Since the [GestureDetector] does not have a child, it takes on the size of its
+/// parent, making the entire area of the surrounding [Container] clickable. When
+/// tapped, the [Container] turns yellow by setting the `_color` field. When
+/// tapped again, it goes back to white.
 ///
 /// ```dart
-/// Container(
-///   color: _color,
-///   height: 200.0,
-///   width: 200.0,
-///   child: GestureDetector(
-///     onTap: () {
-///       setState(() {
-///         _color = Colors.yellow;
-///       });
-///     },
-///   ),
-/// )
+/// Color _color = Colors.white;
+///
+/// @override
+/// Widget build(BuildContext context) {
+///   return Container(
+///     color: _color,
+///     height: 200.0,
+///     width: 200.0,
+///     child: GestureDetector(
+///       onTap: () {
+///         setState(() {
+///           _color == Colors.yellow ? _color = Colors.white : _color = Colors.yellow;
+///         });
+///       },
+///     ),
+///   );
+/// }
 /// ```
 /// {@end-tool}
 ///