Can accept arbitrary DropFormats

Currently NDragDrop only allows a drop format from NDragDrop. This is right in most cases but in some cases you might need to drop something else, such a file from explorer. In those cases, you need to use a different drop format. To facilitate this, I've added a DropDataType dependency property. By default, this value is set to "NDragDropFormat" which is what the code currently uses. If the user wants, they can add a DropDataType, such as FileDrop for files dragged from explorer, to their UI drop target so they can just receive data of that type.

This doesn't interfere with currently uses of the library but makes it allows it to be used in new places.