Move field-dependent code in ComputedStyleBase to Jinja macros.

When we're generating fields in ComputedStyleBase, there are cases
where the generated code depends on the field template. For example,
keyword fields may have different getters than platform type fields.
Instead of doing if-else statements inside the template which makes
it quite ugly, this patch moves that logic out into their own files
as Jinja macros. Each file defines Jinja macros that specify how a
field should be generated.

This patch adds a 'keyword' template for enums, 'flag' template for
bools, and 'monotonic_flag' for nonproperty flags that can't be set
to false.

Link to generated code:
https://gist.github.com/anonymous/93f5d3907e3515d0b50adf0107f3000e

Link to diff (see differences in 'initialUnique' and 'resetUnique'):
https://www.diffchecker.com/mikllVbf

BUG=628043

Review-Url: https://codereview.chromium.org/2693933003
Cr-Commit-Position: refs/heads/master@{#456095}
8 files changed