I believe Quill relies on contenteditable in order to support certain operations, such as pasting. Quill has its own document model, and supports things like deltas/operational transforms, which are practically impossible if you use the DOM as the truth like TinyCKE et al do.
It relies on contenteditable. You can just paste any old thing into it — not sure whether some stuff gets stripped by the document model, but that's kind of beside the point. Once you use contenteditable you get a whole bunch of weirdness for free.