Move and resize panels in dashboard, save to branch
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
### Problem to solve
Currently, we allow users to define in YML the location and size of panels (https://gitlab.com/gitlab-org/gitlab-ce/issues/60010), but we don't allow users to manage this from the UI.
Note : https://gitlab.com/gitlab-org/gitlab/issues/27834 is a pre-requisite for this issue
### Intended users
<!-- Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later.
Personas can be found at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/ -->
### Further details
<!-- Include use cases, benefits, and/or goals (contributes to our vision?) -->
### Proposal
We should expose a mode to allow users to re-arrange the panels on a dashboard as they see fit, and then offer to save the changes. We could either enable an "Edit" button which would expose the moving/resizing controls, or simply expose them all the time and only present the 'Save' option when a change has been made.
When saving back the changes, we could consider two options:
1. Directly write back into the repo and change the dashbaord YAML without requiring the user to review the changes. This would reduce the friction, but reduce the opportunity to do reviews and more.
1. Create a branch and MR with the changes, like we do in the Web IDE or the file editor. This would then allow for review before accepting the changes.
I think we should start with the MR based workflow.
### Design
We decided on a design for draggable dashboards as part of https://gitlab.com/gitlab-org/gitlab-ce/issues/58435. Modifying this design to include a MR-based workflow for committing the changes, would look like this:

### Permissions and Security
<!-- What permissions are required to perform the described actions? Are they consistent with the existing permissions as documented for users, groups, and projects as appropriate? Is the proposed behavior consistent between the UI, API, and other access methods (e.g. email replies)? -->
### Documentation
We should add the needed documentation [here](https://docs.gitlab.com/ee/user/project/integrations/prometheus.html)
### What does success look like, and how can we measure that?
<!-- Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this. -->
### Links / references
epic