This uses map tiles directly from openstreetmap.org. The problem with
this is that those tiles are rendered using a Mercator projections which
is non-linear with respect to latitude. Two things must be done to
properly correct for this:
1. Split tiles at the correct location. With the Mercator projection,
the midpoint of a tile is the midpoint of the longitude but not the
midpoint of the latitude.
Correcting this very important because it prevent tiles from being
drawn in entirely the wrong place.
2. Morph each tile to lat-lon projection when it is drawn. This could
possibly be done with a OpenGL fragment shader.
This noticeable when zoomed out so it's not too bad to just ignore
the issue.. The web based map servers have similar issues with land
area at high-up zoom levels.
Eventually we'll want to fetch the XML and render the maps locally..