Fix the preferred logical widths code to work with spanning grid items

We implemented a simple algorithm to get the easy cases. The
algorithm was completely wrong for more complex cases though,
which was fine as the specification was completely silent on
how to compute these logical widths. This has been raised to
the working group in
http://lists.w3.org/Archives/Public/www-style/2013Oct/0054.html
No one objected after a week so we should be good to go.

BUG=234197

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

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