Prioritized inline editor and docs provider registration

This pull request has two parts: 

1. Generalize `EditorManager.registerInlineEditProvider` and `EditorManager.registerInlineDocsProvider` with an additional, optional `priority` parameter. Providers are then store and queried in priority order. This allows multiple providers to register for a given editor context and have them queried in a predictable order.

2. Refactor the registration callback used by `InlineColorProvider` into an exportable function that can be re-used by other hypothetical inline editor providers.

CC @peterflynn and @gruehle