made getTileAt a little more robust
made it even more robust, where it recurses until it finds a valid position.

It assumes that there'll always be a smaller spot though, so one day I may come back to bite me if there's no such tile map