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