Amazing extendable directive for drag-n-drop on pure AngularJS