tidy up projection scaling
move file reading code
add test for GPX file processing
yield track segments from gpx parser to reduce memory footprint

The gpx parser is now a generator, yielding track segments as they
complete.  The resulting shapes will still need to be held in memory
all at once, but the source segments can be examined one by one and
released as we go.

A further improvement would be for the segment generator to yield
point generators so the segments could be cleared as we go.
reorganized animation code, replaced --frames with --frequency

The change to --frequency could break people's scripts (if anyone is
actually using this thing), but it brings us closer to never needing
all the input data in memory.
created Configuration object, reorganized everything around it.
It's still a bit of a mess, but all the tests are passing.
better error message if projection scale is not set
big cleanup of configuration & options
Add simple example script to show how to use heatmap.py as a module.
Also tests so I know when I break it.  :)
new coordinate classes, big refactor of how coordinates are managed
add projections test
renamed methods to conform to PEP8
removed obsolete options variable