Several changes related to output customization:

- Make visible entities constant sizes, independent of the output
  size.

  Before this, changing the output image size would also changing the
  size of everything being drawn to match, so everything would appear
  exactly as "cluttered" at any output size; no good if things are
  close together.

  This change also includes going back to pixel sizes and coordinates
  (instead of ones scaled to fit between 0 and 1), although the actual
  output sizes/lengths/coordinates will be adjusted if scale is
  something other than 1.0.

- Add a 'scale' option to allow things to be drawn larger/smaller (and
  correspondingly further apart/closer together).

- Move all sensible output parameters to the locations file, to allow
  customizing the output for each map being used.

- Also make more things customizable in this file; primarily colors.

- Put all the mapping functionality into a class which gets
  initialized with the locations file, so it can be swapped out and
  scoped more easily.
Add command line arguments for locations file and output file.