This patch cleans up the public Java interface to the Flutter engine. The code
that we intend to be re-usable is now in the io.flutter.view package. The two
public classes are:
* FlutterMain, which controls initialization of the system, and
* FlutterView, which is an Android view that hosts a Flutter app.
We'll need to interate on these interface over time, but at least these names
are more reasonable.
Now the control flow for wiring up platform services starts in the
platform-specific code. Previously we started in shared code, which was
imposing constraints on the startup sequence for all platforms. Now that we
start in platform-specific code, we'll be able to add better support for Mojo
in a future patch.