Fix a few things in editmode, and allow layouts to be dragged within it's containing area.

Most notable fix: editmode and area blocklist clear themselves out on rescan, this prevents pointers to blocks whose elements no longer exist.
reformat arrange_blocks class
Reformat page user_interface
Layout dragging completed.