all blocks have initial MAX_DURABILITY
simplify active block constructors, BlockManager
CraftManager class, simplify inventory constructor

Craft is in special CraftManager class, not in World.
So does BlockManager, in which normal block duplication
bug is fixed.
Inventory now does not require shred to make things.
Add World::PutBlock, which just puts block, when
World::SetBlock puts block and activates it.
And corresponding Shred::PutBlock and Shred::SetBlock.
CraftManager code manipulations
Memory usage by shreds and world tuning.

Those functions are defined:
World::SetBlock - put some block to xyz and activate it if possible.
World::PutBlock - put some block to xyz.
World::PutNormalBlock - put normal block to xyz.

Shred::SetBlock, Shred::PutBlock, Shred::PutNormalBlock are the same
except xyz here are local (in shred).
Active::whereShred initialization fix, World::PutNormal
Shred::fallList

falling blocks (have ShouldFall() true) are now stored in special
list, apart from all active blocks, because not all active blocks
should fall (as grass).

Player::Obtain fix - when player gets last block from inventory,
screen tries to print non-existing inventory.
now all new blocks are received through BlockManager
BlockManager little interface change, little tunings
prepare blocks constructor interfaces
finish block constructor interface compatibiliy
new memory system. not stable
New memory system. Not finished.
forgot two files
divide declaration and definition of Inventory
divide Active declaration and definition
divide Plate declaration and definition
divide Ladder declaration and definition
divide Clock declaration and definition
divide Weapon declaration and definition