Refactoring tile map scrolling (fixes #2, fixes #3).