Applied some cosmetic changess to update_geometry().

- Improved some bad indentation for jQuery command chains,
- Used 'slice' instead of misleading re-use of 'row',
- Fixed document block to resemble geometry block, and
- Removed unused 'index'.
Cached new #table rows into document fragment.

I am now on the verge of insanity, because of the fluency and responsiveness
that exists in Chrome no matter how ineffective my DOM build instructions have
been, and the sluggishness and latency in FireFox on the other hand, that
persist no matter how hard I try!!!
Simplified control flow in update_geometry().

It looks worse but I'll need it some day.
Cashed old #table rows into jQuery collection.

The collection removes itself after the new table rows have been added. This
way the page stays where it was scrolled the last time.
As a bonus, if [name=delayed] is checked, shapes are also removed one by one
from the map. It looks cool!!!
Added <label>s to the login bar.
Fixed eerily adjacent limit text input.

It creeps me out.
Reduced WKT precision to 13 digits (~0.5 mm).

Because I don't care if points are that far apart, but the WKT's differ and it
would be nice to see that they are identical in the spreadsheet.
"Improved" local toWKT() because I am not a friendly person.
This avoideds prototype change in offline mode.
Removed map canvas from the upload page when offline.
Fixed bad commit bd3905432d468aa.

$("#export [name=replicate]").click() still referred to 'data' when the link
was created or when the target was prefixed with http://.
Removed unused local 'table' and cleaned up a bit.
Moved construction of item.keys into update_items().

For new items, it it was already done there, and I experienced some trouble
with 'concurrency', as item.keys was modified while update_geometry awaits
_view/geojson to respond.
Also I don't have to look at that sad duplicate piece of code anymore. Finally.
Removed temp hash table from update_items().

Meh.