Canonicalize and lookup according to BCP-47

TODO:
* LanguageTag interface
* Store raw tag and flavor when available
* Plugins
marginally better interface and module DI