Fixed messed-up ordering from commit 613b7b8e7.
Revert "Modified list to submit all options instead of just keys."

This reverts commit 81ad0b8d241231fec33364ca2c449467a62d782c.
Interface with the Google Maps API will go here!!

- $.couch.db().list produces correct POSTs now
- initial coordinates made no sense
- linked GitHub project page on index.html
- used only one geometry 'c76eef44f37d9af942135711a602ae3c' because the
  differential update will be dealt with later
- reduced geometry is placed in a map canvas!! IT IS BEATIFUL!!!
  the coordinate tranformation only needs a small adjustment
Tweaked EPGS:3397 to match Google Maps Aerial.

My sample was at least .8 clicks southeast. This is only a temporary fix
because I have no idea where this is coming from. Conversion to WGS84 via
Quantum GIS yields the same offset, which implies that Google Maps is using a
slightly different CRS.
First version that adapts geometric complexity to its displayed size.

- The update is kind-a sloppy (which is nice) but coupled to my
  divide-error-at-least-by-two reduction policy because of this. Sometimes I
  cannot descent to the last detail level, but this shouldn't be a problem if
  geometries are limited to five to ten.
- Maps API launches way too many 'bounds_changed' callbacks for my taste, I
  need at most one every 250ms (and then the last one if a change happened
  during the "time-out" or something).
- There is also a small glitch that causes way too many posts at a certain zoom
  level.
Switched 'bounds_changed' with 'zoom_changed'.

This makes more sense because update_geometry does not need to know if the
viewport has strafed. It just adjusts the detail level. The amound of function
calls is greatly removed, so I don't need a time-out right now.
Also if the new error isn't any different from the old one, I may just skip
rebuilding all google maps polygons.
Placed a hard limit on reduced geometry errors.

Because on Google Maps you can't zoom below 0.018 arc seconds anyway. The error
estimate in terms of screen height in degrees is still not that cool. It should
be something like degrees per 100 screen pixel.
Cleaned up comments a little and removed keys from inital query.
_list/bbox-filter should also work with no data.
Fixed bad commit d73e7c20555d (the 'error' propery was missing).
Made error argument of update_geometry() optional.

It still needs to be defined when first used because map.getBounds() isn't
there yet.
Provided a brief interface for event handler callback reduction.

For instance a 'bounds_changed' is fired every 25ms or so if the user scrolls
the map. Ajax'es are likely to be stacked upon another and mess up shared
variables. The 'call' object is actually just a two-element list describing
what is done just now and what should be done next. So if there is a
'bounds_changed' while an Ajax is in progress, we just stage another Ajax that
is called as soon as the first one is finished. The deliberately stupid wording
emphasizes the design.
Restriced amount of displayed polygons.

'zoom_changed' now listens to nothing and 'bounds_changed' listens to
update_items; This fetches 50 biggest items inside the map viewport, removes
Google Maps shapes of unlisted items and calls update_geometry at the end. It
seems that the 'unsorted'-option causes _list/bbox-filter to crash but only if
a "vast" amount of keys is also specified. Therefore I've left it unset.
Fixed broken replication form and updated couch ip.
Fixed crash of _list/bbox-filter if 'unsorted' is specified.

This is a weak temporary fix and I have no explanation of why I have to
'exhaust' rows before the list function is finished. It also ruins my
performance in a ghastly way.