major thread rework. removing most of the scoping thread stuff because there's no need to reduce the granularity of the commands
this bug was fixed last commit in vertex_buffer, but not in index-buffer
slight cleanup