added freeform survey marker code and improved swapper block placement
layer swapper handles edge cases pretty well and won't delete blocks when it can't place them
even more improvements and separation of tile code