Interact js для перемещения, правила вручную. Гридстер и аналоги есть, оттуда можно взять идею движения блоков по сетке и предотвращения наложение. У svg и canvas все плохо с отрисовкой любого произвольного контента, если блоки сложнее чем рамка плюс текст, будет много веселья, есть d3, svg.js и т.п., но особо сильно жизнь они не упрощают.