There are a couple different bugs around which need ARB_sync. We should throw it into GLContext here, since it's easy to simply implement and expose it. At least we can get ARB_sync into GLContext quickly, and get the individual uses in as they become ready.

This patch exposes FenceSync, DeleteSync, WaitSync, and GetSynciv as per spec. Other functions are part of the spec as well, but these are the functions that are most useful to us, and that I have seen used by other patches.