specialize editors; dart and css editors can now have custom behavior

Create specialized editors for specific file types:

- css editor supports formatting
- dart editor supports an outline
- the outline will show or hide based on the capabilities of the current editor

@umop