The tags and their subtags, including private use and extensions, are
to be treated as case insensitive: there exist conventions for the
capitalization of some of the subtags, but these MUST NOT be taken to
carry meaning.
Canonicalization of language tags does not imply anything about the
use of upper or lowercase letters when processing or comparing
subtags (and as described in Section 2.1). All comparisons MUST be
performed in a case-insensitive manner.
Fixes #35, supersedes #36 Fixes #46, supersedes #47
http://tools.ietf.org/html/rfc4646#page-6
http://tools.ietf.org/html/rfc4646#section-4.4