This is some hard stuff. I don't think I'm any good at it. It is a nice solid idea though.
To the author, work on where the rows/columns "snap" to when you release the mouse button. If you're 50% or more it should "snap" to the next block instead of requiring you actually pass a block before release to get the "snap" where you want. It's strange to be 99% there and have it "snap" back to the previous block.