Split filtering code out of TMSTileProvider into subclass

Provides some type safety preventing accidental filtering on the
canopy or boundary layers.

Also adds support for display filters
Set display filters to only show Plots

The Android app doesn't support other map feature types (yet!)