Core: Use HAVE_SYS_TYPES_H and HAVE_SIGNAL_H

* These files may not be available on all platforms (eg. WinCE)
Windows: Add windows_common.h header

* This file contains definition that will be shared between the
  Windows and Windows CE backends
Windows: Simplify poll_windows and add provisions for WinCE

* Because poll_windows now requires struct usbi_transfer to be
  defined, it's inclusion in libusbi.h had to be moved down.
WinCE: Add support for WinCE (sources)
WinCE: Add support for WinCE (Solution files)
Windows: Display error code in default case of windows_transfer_callback
Core: Don't wait for completion if cancel_transfer failed

* See http://libusbx.1081486.n5.nabble.com/Libusbx-devel-libusb-interrupt-transfer-does-not-return-in-case-of-error-td626.html
* Closes #76
Core: Fix warning implicit conversion changes signedness

* Closes #70