Block Belief Propagation Algorithm for 2D Tensor Networks