Deprecation for legacy formatters on 2.99

Backports the `FormatterLoader` so we can issue deprecations for the legacy interface on 2.99, should also solve #1476 (same formatter logic as 3.x)