Remove DLL management from RawInputDataFetcher

RawInputDataFetcher uses methods from hid.dll to enumerate and fetch
gamepad state for RawInput devices. The DLL is loaded as needed and
a handle is retained by the data fetcher.

This CL moves the DLL management logic and function pointers to a
separate object that can be shared between the data fetcher and
other classes.

BUG=749295

Change-Id: Ifbdf1d67a4577e91806e3e7ee5ee6e4cae621691
Reviewed-on: https://chromium-review.googlesource.com/871845
Commit-Queue: Matt Reynolds <mattreynolds@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530311}
5 files changed