`thread_locals.selenium = cls()`

If we want more control over the instantiation of cls, selenium_session can accept *args and **kwargs, and pass them along to cls as contructor params:
```python
def selenium_session(cls, *args, **kwargs):
    thread_locals.selenium = cls(*args, **kwargs)
```

That should also make the next line (explicit call to __init__) unnecessary.