This will make long-term dependent project compatibility less of a pain. i.e. 1. Remove all the `std::` collections from the header, make this a real interface again 2. Add methods that return things like the Direct3D 11... * Device * Context * Parameters 3. Avoid changing them