Due to the way we segregate axes from buttons, the easiest approach is
to retrieve the current button state via HidP_GetUsages().
Axes, buttons and hats are now allocated sequentially based on their
order of appearance in the device capability reports.
Marked arrays with [In] and [Out] as required. Fixes issues with
axis/button capabilities returning empty results.
Added bindings for link collection node transversal.