* Make test Dart2 compliant
* Use service and debug events instead of polling to wait for isolate to start, run and resume.
* Refactor into _onServiceEvent. Wait for 'paused' event instead of 'isolate runnable'.
* Namespaces have been updated to reflect the move from //flutter/sky/shell to //flutter/shell.
* shell/BUILD.gn file has been split into smaller GN files for each subcomponent of the shell (common, GPU, diagnostic, testing).
* GN dependencies have been rewritten to stop exposing common shell dependencies as public. Duplicates have also been removed.
* GPU subcomponent has been updated make it more suitable for Vulkan integration.
* The GLFW backend has been resurrected.