Extract Category State and Inject it where needed.

To make managing and working with the category states easier, extracted
the code out to a Singleton object that can be injected into the app.
The state is persistent until the app ends, meaning that the next time
it is retrieved the last known state will be repopulated.

This change is in place for movies and tv shows.
Merge branch 'develop' of github.com:NineWorlds/serenity-android into develop