(Threaded video) Fix null pointer dereferences

- Fixes gl driver crash when changing `Video options -> Use Bilinear Filtering`
- Fixes drivers that do not implement `set_shader()`. (A comment in `driver.h` says it is optional)