Fix display of overlay TileLayer names

Since e9b2c8f8 opacity controls for all overlays were shown with the
name "Image data". Instead, make the name passed to TileLayer explicitly
be a display name, independent of the layer name used as a key for the
stack. Use this name for control display. Use an explicit constructor
flag to indicate if a TileLayer should have an overview layer
(showOverview) rather than using the magic string "TileLayer" for the
layer name.