D3D: Filter redundant API calls by caching state in StateManager

All D3D resources are now set through StateManager, which allows to avoid most of redundant API calls.
these can be added to the initializer list as well to zero them out (via `m_pending()` and `m_current()` respectively). I'll let you choose which on you prefer, however.