[MP] Fix #352 (vid_restart breaks G2 handling).

This commit fixes the G2 handles becoming invalid after using vid_restart.
To fix this, a 'persistent data store' is introduced which allows modules
to save blobs of data into the engine, and then retrieve this data later
on.

Before the renderer is shutdown, it now saves the state of its
CGhoul2InfoArray object into a persistent data store and restores this
state on load, if the data is available. This also removes the need to
return null G2 handles.

One thing to note: this is reliant on the CGhoul2InfoArray remaining the
same between restarts. This potentially breaks down when switching
renderers, but this can be dealt with when the time comes.

Finally! This commit increases the ref api version to 3.

Conflicts:
	codemp/CMakeLists.txt
	codemp/client/cl_main.cpp
	codemp/qcommon/qcommon.h
	codemp/rd-common/tr_public.h
	codemp/rd-dedicated/tr_init.cpp
	codemp/rd-vanilla/tr_init.cpp