dri: Do not free the given screen in initScreen implementation
The given screen is already freed by the caller in case a NULL-pointer is returned by the implementation.
Also free the already allocated optionCache and optionInfo on failure as they need to be allocated to be taken into account for initScreen.