[LayoutNG] Make NGBreakToken smaller

This patch makes NGBreakToken smaller by:
1. Move bitfields in subclasses to NGBreakToken.
2. Disassemble NGLayoutInputNode and reconstruct when needed,
   because NGLayoutInputNode needs a pointer and one bit.

Also adds size warning to NGBreakToken and its subclasses.

Bug: 635619
Change-Id: Iaee700fac962b49be1011ef84cfc712f050254bd
Reviewed-on: https://chromium-review.googlesource.com/c/1379625
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617383}
7 files changed