Symbols were amalgamated into a single table which worked up until recently.
This patch separates them so that there is a common list, then two separate ones
for desktop and OpenGL ES 2.0.
Similar to ARB_robustness, uses our current robustness framework. There are some
problems preventing this from being completely usable, but we can't do anything
about them yet. See the bug for more info.
In OpenGL it is allowed to try to delete a non-existent GL object, and we have code that relies on that in a fairly legitimate way, see discussion in the bug.
This patch should improve performance of the robustness timer by not resetting
it each time a draw operation happens. It still checks if there's any activity
and, if not, it will stop firing it. It includes a single extra timer firing
after activity dies to make sure we don't miss anything. Also includes a fix for
robustness being marked as existing when it really isn't.