Implement drag and drop of todos

Note that it currently places the dropped todo last in the
list and not where you dropped it.