I'm finding the implementation for managing filters pretty tricky. I tried creating a `Template.unregister_all_filters`, but as it turns out, all instantiated `Liquid::Context` objects also rely on the global `Template::Strainer` class instead of instantiating their own. This means that calling `Template.unregister_all_filters` ended up affecting each instantiated `Liquid::Context` object. This breaks other tests in `filter_test`.

I would have thought that since we're calling `Context.new` during `setup` in `FiltersTest`, this would mean that we're also resetting the filters on that context each time. Is that intended behavior?

I found some other test ordering / dependency issues with unregistering all of Strainer's filters mid-way through the test suite (for example the tests in `filter_test` implicitly assume `StandardFilters` has already been loaded), but those are comparatively minor to my question above.