Added support for M4-ATX version 2. Breaking API changes.

In order to handle the differences between the two M4-ATX revisions,
I've added an m4Handle structure containing version information. This
handle is used in place of a usb_dev_handle, and it is now required as
a first argument to all of the public m4api functions.
Added m4Close(dev).