Fix isCandidate consistency between PositionIterator and Position for br elements with childlen.

If PositionIterator traverses on a DOM tree which includes a br element with children(of course it's a strange DOM tree),
PositionIterator.isCandidate() on the br element returns true but converted Position.isCandidate() returns false.

If conditions lose consistency, VisiblePosition::canonicalPosition will fail on  |canonicalizeCandidate(previousCandidate(position))| because previousCandidate returns a Position converted from a "Candidate" PositionIterator and cannonicalizeCandidate(Position) assumes the Position is "Candidate".

To keep the consistency, change PositionIterator.isCandidate() to return false when it traverses on tail of the br element.

BUG=344280

Review URL: https://codereview.chromium.org/197223006

git-svn-id: svn://svn.chromium.org/blink/trunk@169235 bbb929c8-8fbe-4397-9dbb-9b2b20218538