Use tighter typing in table rendering code

Use tighter typing in table rendering code:
- Rename RenderTableSection's firstChild() / lastChild() to firstRow() / lastRow()
  and have them return a RenderTableRow* instead of a RenderObject*.
- Rename RenderTableRow's firstChild() / lastChild() to firstCell() / lastCell()
  and have them return a RenderTableCell* instead of a RenderObject*.

Add previousRow() / nextRow() methods to RenderTableRow and previousCell() /
nextCell() to RenderTableCell to make traversal code more readable. Also hide
RenderObject's previousSibling() / nextSibling() in those classes to make sure
the more specialized methods are called.

This is based on WebKit r156355 by Antti Koivisto (antti@apple.com):
https://trac.webkit.org/r156355

R=esprehn@chromium.org, pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174403 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Marked svg/custom/masking-clipping-hidpi.svg as flaky.

BUG=366442
TBR=fmalita@chromium.org,timvolodine@chromium.org

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

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