Issue title: Provide a Backdrop Widget
 Issue body: Please provide a backdrop widget in flutter library
 Comments: 
 Comment 0: Could you elaborate what you mean by that?
 Comment 1: A reusable widget
```Dart
Backdrop()
```
which fits these [Specs](https://material.io/design/components/backdrop.html) 
 Comment 2: There are two examples of BackDrop widgets in the Flutter gallery:
https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/gallery/backdrop.dart
https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/material/backdrop_demo.dart

We haven't released a standard framework widget yet, but we're considering it. It's not terribly difficult to build a one-off Backdrop widget that suits a particular application. A general purpose widget is saddled with satisfying all (most) applications, which is a bit more difficult.
 Comment 3: I already saw both of them but didn't understand because they have too many code around (don't see what is relevant).

Implementing the backdrop is easy, but implementing it with slide down animation is more difficult. It would be nice if there would be a easier and more documented demo.
 Comment 4: I've published a package for this.
https://pub.dartlang.org/packages/backdrop

which provides BackdropScaffold widget, other backdrop related widgets are underdevelopment such as - BackdropAction, BackdropNavigation, BackdropButton, etc.. which will work seamlessly with each other... implementing all set of options and variants described in the [material design backdrop component guideline](https://material.io/design/components/backdrop.html)
 Comment 5: Very nice, but why gitlab btw? (I have an account but i don't use it)
 Comment 6: I use gitlab usually for my private project. (as github charges me for it.)
Thought of using it for public project as well. (would be unfair to them!! whatever that means!!)
 Comment 7: > There are two examples of BackDrop widgets in the Flutter gallery:
> https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/gallery/backdrop.dart
> https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/material/backdrop_demo.dart

@HansMuller These are enormously helpful and I have managed to add most of the additional functionality I need myself, but unfortunately neither of the examples shows how to make the front layer drop down to the [bottom of the back layer](https://storage.googleapis.com/spec-host-backup/mio-design%2Fassets%2F113Zwq94Qylx9yJREPewcnXDIwEs-ouHm%2Fbehavior-backlayer-height.mp4) (rather than all the way to the bottom of the screen).

The line that would be changed would be [line 254](https://github.com/flutter/flutter/blob/ee3e621f026e8a3228c618ef8f4fb2595cf58b71/examples/flutter_gallery/lib/gallery/backdrop.dart#L254) where `_kFrontClosedHeight` should be replaced with the height of the back layer. It seems like a quick fix someone could make to one of the backdrop examples just to have a reference out there; I would submit a PR myself but I don't really understand how I would access the back layer's height since it can't be accessed during the build stage and I'm still quite new to Flutter.
 Comment 8: @HansMuller `stickyFrontLayer` boolean flag can be used with [backdrop](https://pub.dev/packages/backdrop) package. It does what you want, front layer droppping till the end of backLayer and not completely down.
 Comment 9: **:Shameless Plug:** 

[backdrop](https://pub.dev/packages/backdrop) package on pub.dev have implemented backdrop related widgets as mentioned in Material Design Guidelines. 
It has following widgets:
- `BackdropScaffold`
- `BackdropAppBar`
- `BackdropSubHeader`
- `BackdropNavigation`

Moreover it has `Backdrop` which is an `InheritedWidget` which exposes underlying `BackdropScaffoldState` to perform backdrop related functionality like - `revealBackLayer()`, `concealBackLayer()`, etc from anywhere below the widget tree by using `Backdrop.of(context)` method.

This package aims to achieve all use-cases defined in MDG about backdrop. All widgets assume the default but are also highly customisable.

Until `Backdrop` is implemented by flutter. Feel free to use this package.

Thank you.
 Comment 10: @daadu - Thanks for creating a backdrop package!
 Comment 11: @HansMuller We are happy to port it to `flutter/material` sub package if you give us a green signal!!
 Comment 12: I see that the [spec] now shows this is "not planned." I have spent a lot of time working on various approaches to a backdrop for my app, and can say that is is actually very difficult to build from scratch for more complicated apps. 

The `Backdrop` uses an entirely different app architecture from what is assumed by flutter. Page transition animations need to be delegated down to child elements, some of which will be shared between screens (but not necessarily every screen).

However, while difficult to do, I think these abstractions _are_ generalizable. The key is that contrary to the [guidance doc], it needs to be approached more like a `Scaffold` with some `Hero`-like affordances for shared elements, as opposed to having some single monolithic back layer component. That way, coupling between the back and front layer can be handled in a natural fashion.

This is all to say that I'm unconvinced that a generic implementation isn't feasible, and I really hope its "not planned" status re-evaluated. I'm working some on packaging up [my current approach] (will share here if I ever publish), but I always end up needing to resort to hacks like an [`alwaysOnTopGlobalKey`] or [`CheatersGlobalKey`], and I'm sure the core team can do a much better job anyhow. 

[spec]: https://material.io/components/backdrop
[guidance doc]: https://github.com/material-components/material-components-flutter/blob/master/docs/components/backdrop.md#why-not-a-reusable-code-component
[my current approach]: https://github.com/micimize/major/tree/master/major_components
[`alwaysOnTopGlobalKey`]: https://github.com/micimize/major/blob/59c7ce93b5dfd66a592b5c6f2ff39fc6728661d1/major_components/lib/src/current_route.dart#L29-L40
[`CheatersGlobalKey`]: https://gist.github.com/micimize/5191af05191c027713a9cd1def3528db
{'source': 'GithubIssues', 'repo_name_with_owner': 'flutter/flutter', 'issue_id': 322708387, 'repo_stars': 152526.0}