Instead of resetting two command buffers, now we only have to call vkResetCommandPool once at the start of a frame. NV's recommends using one pool per frame/thread. May offer a very small boost in performance on some systems.
Adds headers where necessary to eliminate indirect includes. Also adds headers to ensure certain standard constructs always resolve correctly
This way we're not submitting empty buffers when it's unnecessary.