Resolve default locale from `Intl`

This improves how the default locale is determined by resolving it from an `Intl.NumberFormat` instance. This change still allows for the developer to explicitly set `IntlMessageFormat.defaultLocale` if they wish.

This change was a continuation of #66
why are we splitting this? if the default locale is `es-MX`, why are we using only `es`?