Cache map images on a building-per-buiding, not lab, basis

This is more efficient and allows reuse of map images when appropriate