* Allow dropping images into notebook to create attachments
Fixes#157577
This allows you to drag and drop image files or image data into a notebook cell to create an attachment
As part of this work, I also updated the paste attachment logic so that we can:
- Create multiple attachments in a single operation
- Create attachments of other mime types besides `image/png`
- Create attachments for images that have spaces in the filename
* Also allow pasting uri lists to create attachments
* Fix indent
* Add id
* dataflow support for updated metadata
* update cellAttachmentRenderer.ts to reflect metadata being a getter() inside MarkupCell
* document paste additions
* update condition to re-render cells, now includes metadata changes
* paste API working, debugging command added
* paste working with metadata. needs numbering, and cleaning upon delete
* paste screenshot works fully
* remove debugging command. Cleaning.
* notebook cells now re-render upon metadata changes
* changed name validity checking, remove unneeded function
* use _document for cell data, use snippet choice, dto fix
* return subscription, for loop, uri fix, alter metadata in-place, better snippet
* metadata fix, object.equals, fix cellAttRenderer metadata call
* added comment with source of encodeBase64
* gate mkdn image paste behind experimental setting
* Finalize NotebookEditor api proposal
Fixes#149271
This finalizes most parts of the NotebookEditor api proposal. I haven't removed the proposal entirely as there are still a few parts being left behind:
- The deprecated properties/functions
- A few contribution points such as `notebook/cell/executePrimary`
* remove extra quote