Implement tileset and tilemap
Put zone-related code to a separate module