Cleanup animation functions

Break things apart into smaller methods. Don't allow next move until all
animations are finished.
Shorten animation durations
Always reset display tile positions after moves