Clean up type handling in make_computed_style_base.py.

Currently, the way we specify the types of fields in ComputedStyleBase
is confusing and inconsistent. This makes it difficult to extend the
generator to support non-enum types like ints and platform types.

This patch renames:
- storage_type -> type_name (not really storage related)
- storage_type_path -> field_type_path (not really storage related)
- field_family -> field_role (family is vague, role is better IMO)
- keyword_only -> field_template (field_template generalises
  keyword_only to more than just enums).

so that, as of this patch:
- Every field picks a 'template' which for now can only be 'keyword',
  but can be 'primitive' or 'external' when we support those later.
  This affects what the generated API for that field looks like.
- Every field has a 'type_name', which is the actual C++ type used in
  the generated code. For 'keyword' fields, this is the enum name.
  For 'primitive', it'll be int/bool etc. Previously, 'storage_type'
  was same as 'type_name', which means templates could not tell
  whether the field is a enum or something else.

This patch does not change behaviour.

BUG=628043

Review-Url: https://codereview.chromium.org/2692803002
Cr-Commit-Position: refs/heads/master@{#451534}
3 files changed