Add support for generic VAOs, with up to 8 VBOs (plus an element array).
Move VAOs into their own file.