API: Support for multiple HTMLEditorConfig per page

This allows to specify a `HTMLEditorConfig` on a per field basis.

`HtmlEditorField` now takes an optional 4th argument with the identifier of the EditorConfig. This falls back to the active EditorConfig identifier, so this should be backward compatible.

`HTMLEditorConfig` now output `ssTinyMceConfig` as an object with key:value pairs of Identifier and Config. Also takes care of loading all external plugins (maybe this could be done on a per field init basis rather than load them all at the bottom?).

This is similar to https://github.com/silverstripe/silverstripe-framework/issues/2940 but with a different approach. Using *identifiers* rather than *inline* as a parameter might be more intuitive?
This PR requires https://github.com/silverstripe/silverstripe-framework/pull/2297 to solve multi TinyMCE inits.

Pulled against master for now, but may be better against 3.1? This is maybe more a NEW features rather than API change?
This is up for review and comments.