This also involves changes to the C API, since we're breaking API anyways might as well unify some type names. No breakages for D3D11.