Added drag and drop

I needed drag and drop, so I threw it in there.  Right now the drag data can only be a string, but this is consistent with the EventData type and is probably sufficient until/if we decide to re-arch this thing.  It's been working fine in my app, but not extensively tested.