Generalize handling of extension devices

Instead of merging extension device data into the API's button data (as
previously done for the Sharp Shooter), programs can now access all
relevant data via a new interface. A small test program demonstrating
this for Sony's official Sharp Shooter and Racing Wheel extensions is
included.

Doing it this way is much more flexible than the previous approach,
also allowing support for other extension devices (especially custom
ones) without the need to mess around with the API's internals.
Replace magic numbers with named constants
Init extension device info struct to all zeros
Change EXT device info buffer handling

Instead of allocating and returning a result buffer that the user needs
to free, psmove_get_device_info() now requires a user-allocated buffer
as function argument. This avoids allocating the buffer each time the
function is called. And this interface is more consistent with similar
functions in the API.
Merge pull request #106 from nitsch/generalize-ext-handling

Generalize handling of extension devices