Abstract editor configuration as a configuration setting for admins
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=396418)
</details>
<!--IssueSummary end-->
### What
Currently, an editor is injected into the devfile as part of its processing. All the parameters for this editor are [hardcoded in the devfile processor](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105783/diffs#4d13da8e6d492311fccdff71c3d7eb81f1ff6eba_0_28 "Remote Development feature behind a feature flag"). This should be abstracted to a new class and exposed as a configuration that admins can set for all users to choose from. While creating a workspace, we provide a list of editors available from that group. `webide` will be a default entry available to all groups.
Customers should be able to provide a list of editors that can be used, and provide an image for those editors.
### Why
- Adding of new editors become simple and straight forward
- Administrators can be themselves which editor their users should user; thus enabling bring-your-own-editor
- Helps administrator rollout editor upgrades/changes in a more controlled manager
### Related Issues
A first iteration of this via ENV vars is implemented by https://gitlab.com/gitlab-org/gitlab/-/issues/438767+
issue