Add plugin filter_sources + demo

Cascade supports writing plugins to extend certain functionality. Source
selection is one such area, and this commit adds that functionality and
a demo plugin.