Actually swap the blocks on drop

Unfortunately we need to pass the index to ReactorBlock component
so that it can pass back to Editor's drop handler to swap.

This is a nice thing with React.js is that you only need to swap
the blocks in Editor's state, and all the blocks are re-rendered
in the new order immediately. Imagine writing that in vanilla JS
or jQuery, ugh...