Class is now much more generic, which should make things easier for the upcomping deferred context implementation
Helps applications which frequently update buffers through either Map()/Unmap() or UpdateSubresource.
This is the first step to optimizing buffer updates for applications that frequently invalidate buffers. The goal is to reduce the number of buffer allocations per frame and reduce the cost of invalidation.