A C++ library for agent-based simulations of demography in heterogeneus landscapes