Removed old requirement

I think this came from an experimental dependency package.
Adds color and size filters to queryset
Finalizes new filter methods, updates templates to use them
Update tag purity calculation

Optimize tag query and ensure calculation on initial creation.  It is
necessary to call for the calculation outside of the `save()` method
because the many-to-many tag relationship isn't yet committed, so
`wallpaper.tags.all()` yeilds an empty queryset.
Tentative deprecation of wallpaper similar methods

These methods don't have a way to consult the requesting user's
profile, so this information is more easily derived by the originating
view function first creating the queryset of wallpapers matching the
user's active profile.
Removes save method's tag purity check

This check is almost always working with insufficient tag data, requiring that create and update views do a secondary crunch anyway.  Worse, if a user removes a tag from a wallpaper and saves the change, the tag assessment will still include the removed tag.

Better to just remove it and require that wallpaper create and update views call `assess_tag_purity()` after saving the object.
Adds tag purity assessment to WallpaperUpdateview