Use Category annotation from JUnit
Reuse CategoryFilter from JUnit core
Support for nested suites
Apply class filters as early as possible
Reorder method for better readability