Added villages that must be 'collected' by PC

That was quite cool - firstly we added a village. Similar to tree/etc
and paint it on the screen.

Village has a collect function which destroys itself.

We define a callback on the PC for hitting a village which invokes the
village.collect() method.