Improved hidapi USB backend.
Improved hidapi USB backend.

- Opening device by path instead of VID/PID, so we actually open the
  device we think we're opening.
- Catch IOErrors when attempting to open the device and ignore them.
  This fixes issues with multiple devices being connected, or another
  process having a device open.
- Device info dict is saved into the HidApiUSB object.

Signed-off-by: Chris Reed <b3dd1f1606e650f957a201559ff4892bfe793d89@me.com>

mesheven/pyOCD,matthewelse/pyOCD,mbedmicro/pyOCD,wjzhang/pyOCD,tgarc/pyOCD,0xc0170/pyOCD,matthewelse/pyOCD,tgarc/pyOCD,bridadan/pyOCD,pyocd/pyOCD,mesheven/pyOCD,mbedmicro/pyOCD,pyocd/pyOCD,0xc0170/pyOCD,flit/pyOCD,tgarc/pyOCD,bridadan/pyOCD,0xc0170/pyOCD,mesheven/pyOCD,wjzhang/pyOCD,mbedmicro/pyOCD,matthewelse/pyOCD,wjzhang/pyOCD,bridadan/pyOCD,flit/pyOCD