refactoring: extracted worldaction.py from worldunit.py
Movement between two squares is more natural (continuous).

When a unit is moving to another square, it will turn towards the center of the next square, instead of turning towards the "exit" object. Instead of moving through the "exit" object and reappearing on the other side, the unit will cross naturally the corresponding border of the square. If another unit is on the other side, the unit will have to move elsewhere, instead of being arbitrarily moved to the nearest free space from the exit.