Various libglvnd fixes/cleanups, and an ABI update

Here is an overview of the changes:

- Commit 75b1028 attempts to drastically simplify the vendor library ABI, by removing some unnecessary vendor callbacks and unused functionality, and adding exports which allow vendor libraries to make vendor-neutral dispatch functions which closely mirror the internal dispatch functions defined in libglx.c.
- Commits 71c2395 and a927cdd remove a lot of unused mapi cruft from the driver, which should make the code base significantly easier to understand/maintain.
- The remaining commits fix various internal libglvnd bugs.