Keep grey blocks together when dragging, don't allow separation

I took a stab at implementing grouped grey blocks.  When a grey block is dragged, the highest contiguous grey block (`topDraggingBlock`) is set as the drag target instead of the clicked block (`this`).

This blockly-core change feels risky to land before HoC.