Block physics

Some basic block physics. Please give feedback to the structure.

Edit for clarification:
This PR provides the possibility to add block physics to certain BlockTypes, so that developers developing new BlockTypes can easily override the methods and program the related physic stuff.
It doesn't add all physics itself, only falling blocks (gravel & sand) and the going out of fire if the block below is broken.
Missing `case` x3 as these are labels, not cases.