Parse HID report descriptor for report info

The previous HID report descriptor parser was designed to only
extract the maximum size of each type of report and did not preserve
information about the individual fields within a report. This CL
adds a new parser that builds a hierarchical representation of the
reports supported by the HID device.

BUG=890096

Change-Id: I4ac3bf883a843bec00576bfad78958d42f53abc7
Reviewed-on: https://chromium-review.googlesource.com/c/1257897
Commit-Queue: Matt Reynolds <mattreynolds@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Ovidio de Jesús Ruiz-Henríquez <odejesush@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626816}
17 files changed