reader/flutter: reflect the upstream flutter changes

Make Reader compatible with the most recent version of Flutter.

Relevant upstream changes:
flutter/flutter@9b9ad3db174b87a21ec12a0d9ff35d6525a99bfa
flutter/flutter@95fc5ae070494ab80aaf7a39b9a16adddd2e2824
flutter/flutter@870894fc68bdb2f22ab8e284ae6b05474f47913d
flutter/flutter@ede5dfce30efd81fe52a95b14bc7a7c696a4cb10

Change-Id: I192ce57637ad4dd49593ed06f3048ed89420a8ae
diff --git a/flutter/flutter.yaml b/flutter/flutter.yaml
index 17b15fb..bc46736 100644
--- a/flutter/flutter.yaml
+++ b/flutter/flutter.yaml
@@ -1,6 +1,2 @@
 name: reader
-material-design-icons:
-  - name: content/add
-  - name: navigation/arrow_back
-  - name: navigation/menu
-  - name: navigation/more_vert
+uses-material-design: true
diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart
index 2a10be3..0568eee 100644
--- a/flutter/lib/main.dart
+++ b/flutter/lib/main.dart
@@ -3,12 +3,12 @@
 // license that can be found in the LICENSE file.
 
 import 'package:flutter/material.dart';
-import 'components/flutter_demo.dart';
+import 'widgets/flutter_demo.dart';
 
 void main() {
   runApp(new MaterialApp(
       title: 'Flutter Demo',
-      routes: <String, RouteBuilder>{
-        '/': (RouteArguments args) => new FlutterDemo()
+      routes: <String, WidgetBuilder>{
+        '/': (BuildContext context) => new FlutterDemo()
       }));
 }
diff --git a/flutter/lib/components/flutter_demo.dart b/flutter/lib/widgets/flutter_demo.dart
similarity index 88%
rename from flutter/lib/components/flutter_demo.dart
rename to flutter/lib/widgets/flutter_demo.dart
index a06cd66..0e2e292 100644
--- a/flutter/lib/components/flutter_demo.dart
+++ b/flutter/lib/widgets/flutter_demo.dart
@@ -4,7 +4,7 @@
 
 import 'package:flutter/material.dart';
 
-class FlutterDemo extends StatefulComponent {
+class FlutterDemo extends StatefulWidget {
   FlutterDemo({Key key}): super(key: key);
 
   FlutterDemoState createState() => new FlutterDemoState();
@@ -21,7 +21,7 @@
 
   Widget build(BuildContext context) {
     return new Scaffold(
-        toolBar: new ToolBar(center: new Text('Flutter Demo')),
+        appBar: new AppBar(title: new Text('Flutter Demo')),
         body: new Center(
             child: new Text(
                 'Button tapped $counter time${ counter == 1 ? '' : 's' }.')),
diff --git a/flutter/test/flutter_demo_test.dart b/flutter/test/flutter_demo_test.dart
index d2c890b..7a18709 100644
--- a/flutter/test/flutter_demo_test.dart
+++ b/flutter/test/flutter_demo_test.dart
@@ -6,7 +6,7 @@
 import 'package:flutter/material.dart';
 import 'package:flutter/widgets.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:reader/components/flutter_demo.dart';
+import 'package:reader/widgets/flutter_demo.dart';
 
 void main() {
   test("Example State test", () {
@@ -14,12 +14,12 @@
       GlobalKey key = new GlobalKey();
       tester.pumpWidget(new MaterialApp(
           title: 'Test App',
-          routes: <String, RouteBuilder>{
-            '/': (RouteArguments args) => new FlutterDemo(key: key)
+          routes: <String, WidgetBuilder>{
+            '/': (BuildContext context) => new FlutterDemo(key: key)
           }));
 
       // Test State.
-      StatefulComponentElement element = tester.findElementByKey(key);
+      StatefulElement element = tester.findElementByKey(key);
       FlutterDemoState state = element.state;
 
       expect(tester.findText("Flutter Demo"), isNotNull);
@@ -41,7 +41,7 @@
       tester.pump(new Duration(milliseconds: 400));
 
       // Test Widget input and rendering.
-      StatefulComponentElement fab = tester.findElement((Element element) {
+      StatefulElement fab = tester.findElement((Element element) {
         return element.widget is FloatingActionButton;
       });