lots of changes for vertex_buffer_t
some sort of bind/tuple magic that was harder than it should have been