add npc and stuff

add npc and zorder.
tile map now has properties block_offset.
when player move to obstacles, collision will be effected by the
obstacles’s bord and block_offset. Thus player may overlay obstacle a
little bit when moving against  an obstacle upwards if the block_offset
is like (0, 10)