Save vast amounts of RAM by tweaking point representation.

If we present points as (lat, lng) pairs rather than as {'lat': lat,
'lon': lng} dictionaries, we can save about 500MB of RAM, it seems.
Save even more memory by using numpy.array instead of tuple if possible
Expanded README.md