Introduces empty group filtering to ship browser - stage 1

Finally got around to looking into this from issue #134. Turns out that there is already a function that was previously available but unused that returns `T / F` if a category has fits. 

This is a quick way to introduce this feature, however somewhat not optimal. One concern with this is performance. On my system, it is quick, however there is a slight delay when filtering (285ms filtered vs 19ms non-filtered) due to the overhead of checking the database.

One way to reduce this would be to cache the category list (already cached) as well as the `T / F` value. I was able to do this with some success, but there's a few issues with it atm (we have to update cache with any change in number of fits). I'm creating this pull request so that I have something to attach to if I am able to figure out the best way to cache these results, otherwise I'll merge the current commit