[css-grid] Use grid-template-areas to determine the explicit grid

From the spec (https://drafts.csswg.org/css-grid/#grid-definition):
"The size of the explicit grid is determined by the larger of the number
 of rows/columns defined by grid-template-areas and the number
 of rows/columns sized by grid-template-rows/grid-template-columns."

So we need to take into account the rows/columns defined by
grid-template-areas to determine the size of the explicit grid.

On top of that this patch is also taking into account this
in LayoutGrid::explicitGridDidResize().

Created a new test to check the right behavior and added new test cases
to check the style changes too.

BUG=603160
TEST=fast/css-grid-layout/explicit-grid-size.html

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

Cr-Commit-Position: refs/heads/master@{#387261}
7 files changed