Previously, everytime a object was created in the RenderDriver a message
was logged, e.g. "VkDevice created". These have been removed as they are
redundant as the opposite case (when warnings/errors occur) are always
logged. Aditionally, only enabled trace logging when Debug::is_debug()
returns true.
All functions that the create/destroy a global static singleton should
use the names init and shutdown, while any static functions that
return/take a new object should use the names create and destroy.
e.g.
void Renderer::init() and void Renderer::shutdown()
Window* Window::create() and void Window::destroy(Window* window)