Implement support for multiple GPU contexts or command buffers. This will allow for a better, multi-threaded renderer to be built on top later.