Add Piece#on_board? and fix bugs in Piece movement.