The following changes are made by this PR:
* Translation bundles now implement MaterialLocalizations directly,
and are public so that they can be directly extended.
* The list of supported languages is now a generated constant.
* The icuShortTimePattern/TimeOfDayFormat values are now pre-parsed.
* Various other changes for consistency with the style guide and the
rest of the codebase, e.g. the class names don't use `_`, the
`path` library is imported as such, more dartdocs, fewer `//
ignore`s, validation using exceptions.
This reduces our technical debt benchmark.