Add support for copying and pasting a lot of stuff, and also dropping stuff onto the canvas
This adds generic infrastructure for parsing items into QMimeData and back, and uses it for copy/paste and for drag and drop (only drop for now, though if it is needed drag may also be implemented)
This also adds handlers for:
- A custom Drawy-specific format (
application/x-drawy-clipboard), consisting of a JSON array of items, used for copying inside Drawy. - Plain text (
text/plain), which creates a text item when pasted and copies the text from a lone selected text item. - SVG (
image/svg+xml, copy-only), which converts the selected items into SVG.
Closes #109 (closed)