Browser-side javascript powering MapKnitter: mapknitter.org.