Tidy up wrapped functions and reorganise into logical files

* Remove legacy wrapped functions that were only hacked-in to get
  glxgears working as a proof of concept.
* Split out groups of wrapped functions into separate files by type
Add query and sync object handling.

* Sync objects need special handling because the identifier is an opaque
  pointer and so we can't use the existing GLResource stuff. Instead to
  handle this, we assign a GLuint ourselves and keep a mapping around
  to map GLuint<->GLsync. Everything else works as usual from the GLuint
Tidy up RDCUNIMPLEMENTED() macros, adding text comments to each
A few more assorted functions wrapped.

* Also rearranged and organised the ProcessChunk() switch to match the
  enum in gl_common.h for easier reference
Hook the EXT_direct_state_access functions.

* Normal selector functions are implemented via these, which requires
  EXT_direct_state_access to be available, but this isn't hard to work
  around with some wrapper functions should that become necessary.
Add a few last buffer related hooks