I had to make an application with drag and drop with the same requirements some time ago, but I decided against the API, because it was limited and IE11/Chrome still do not support many convenient features. That leaves you with a lot of JS either way, so I just implemented a custom JS solution.
As for IE11, limited features include (taken from CanIUse):
dropzone attribute.setDragImage()dataTransfer.setData()/getData()