Persistent Filter page + Categories

Get the category filter working and move the filter page into a model
with a sharedinstance to persist the settings.

Although there is a side effect that pressing cancel doesn't undo changes