Added dragging functionality to Terrain

Dragging works for Rectangle class, and is implemented in Terrain base
class so it can be recycled in any derived classes