Allow services to run in application isolate.

Given that 
* setting Breakpoints and debugging isolates is not supported in the current release of the Dart Editor
* updating to a newer version of the "analyzer" package introduces breaking changes difficult to diagnose simply by using "print" statements

This change introduces an abstraction layer between the host application and the services so that the services can be run either in a separate isolate, or in the same isolate as the application. The later should of course only be used when debugging and diagnosing issues since it makes the UI less responsive.

Switching between the two implementations is done through a single line change in "ide/web/lib/services/services_bootstrap.dart".

Hopefully this will make it easier to figure what are the breaking changes in the newer versions of the "analyzer" package.

@devoncarew