The ones I have not changed are those where paste() is really
preferred, and I've noted why in comments.
Calls to "dest.paste(src, rect, mask)" were converted to calls to
"composite.alpha_over(dest, src, rect, mask)".
I needed a way to let py2exe options be provided only when py2exe is
available. My solution (maybe not the best) was to put all the
arguments for the final setup() call into a dictionary, that is filled
in conditionally during the script's execution. This is why the file
is completely changed; however, it still does what it used to do (when
py2exe is available).
Polygons and polylines are read from the new file "regions.js". Polylines
(entries with "closed" set to false) are just lines drawn on the map.
Polygons (entries with "closed" set to true) are closed loops that are
filled in with a transparent color.