Add ability to drag and drop tracks

- Enable `onDrop` functionality
- Analyze playlist when tracks are added to it
- Annotate and add a unit test
- Ensure consistency of `duration_ms`

[#3] [#4] [#5]