Precompute geojson, expand loading scope

By precomputing all of the geojson, loading tract data is just a matter of a sql query + writing the data.

Python:
* Add a precomputed geojson field - no need to regenerate this each time, and no need to load other fields
* Use the [simplify](https://docs.djangoproject.com/en/dev/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.simplify) method to reduce json size

Javascript:
* Load tracts a half-a-viewport away in each direction; this is roughly a zoom level