added drad and drop

Added drag and drop using HTML5 native drag and drop.

one odd item here is the `index` field in the model. I added it so that when you reorder the items, I can use 2-way binding to fix the party models whose indicies get out of sync when you reorder them cos of the array mutation (by iterating thru the parties from the preference group component)