Refactor mixed_reality_renderloop COM calls into wrapper classes

In order to test Windows Mixed Reality, there needs to be a place to add
calls to the VR Test Hooks.  Currently, the direct calls to COM are not
mockable or easily replaced.  By creating a simple wrapper for the COM
calls, this change creates places for the test hooks to be added, while
also cleaning up the code to make it more readable.

This change builds off of the patterns from
commit a4120a2b91166a69398889aa825ef3193407786f.  A small helper class
was also created within the D3D11TextureHelper to try to remove more
COM calls, though some of the DirectX calls are still left in the
renderloop, and those will have to be evaluated in the future as to how
much of an impact they have on testability.

Due to the movement of some of the previous error messages, this also
creates a static logging class to mimic the "TraceError" calls that
were previously in mixed_reality_renderloop.  It is intended that more
logging could be added to the wrappers through the use of this static
class in a future change.

Bug: 954413
Change-Id: Iaf43423b78f62466ff995c96eda787ac66c17487
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1580441
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#654300}
23 files changed