Fixes for re-enabling more MSVC level 4 warnings: Source/platform/ edition

This contains fixes for the following sorts of issues:
* Assignment inside conditional
* Signedness mismatch
* Nonstandard extension: unnamed struct/union

Because I needed to name the anonymous struct in FontTraits.h, and because a
"mask" sounds like what you use to mask a value down to a set of bitfields,
rather than the bit values themselves, I chose to rename FontTraits::mask() to
bitfield().  I'm open to other naming options if these seems less clear.

BUG=81439
TEST=none

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

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