Simplify the logic of how we initialize the brightness backends
Instead of going over massive if-else ladder, initialize them all first
and then query which one is supported, also reduce the code duplication
of brightness animation initialization.