add PixelDimension/PixelCoordinate types, convert Terrain to use them, and convert/clean up drawing code
#include "Address.hh"
#include <sstream>
std::ostream& operator<< (std::ostream &s, const NetworkAddress &addr) {
s << "[" << addr.get_address() << ":" << addr.get_port() << "]";
return s;
}