Flexible drag directives for Angular