Parameterized drops & Replace CanDrop with ICommand.CanExecute

- Parameterized drops; this way you can handle commands on different controls than where the actually drop has taken place.
- Changed the CanDrop; To be more conform the ICommand usage you can now use the CanExecute functionality of ICommand. No need for extra attached properties.