Devoncarew editor types

Add a generic way for content specific editors to customize their `ace.EditSession` instance. Remove some older style content specific customization in `AceManager`. Make sure that specific content types have their correct handling for hard / soft tabs. Also, remove an unnecessary throw / catch of an exception on startup.

@umop
It's to make it clear that Dart always uses 2-space soft tabs. It's the same as the defaults; it's a little defensive perhaps if the defaults change.