To avoid hitting the component manager from the security manager, we
need a way of creating nsIDateTimeFormat instances that don't go through
the component manager. The only wrinkle is that these formatters are
platform-dependent. Let's write a thin wrapper over nsIDateTimeFormat
that abstracts away the platform details.