Improve error handling in mxt-app -W hex conversion

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Add doxygen documentation for new parameters

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Refactor info block code

 - Use sizeof() macros instead of constants.
 - Read entire ID block and then realloc rather than reading num_objects byte
   only.
 - Move raw_info into the info_block structure.
 - Rename info_id members to improve line length and reduce redudancy.
 - Store CRC in info block structure. Use macros for addition of 1 to
   size and instances.
 - Add mxt_ prefixes to functions for namespace consistency.

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Add raw config load support

There are multiple formats for representing device configuration. This adds
support for loading the OBP_RAW format, which is a simple ASCII hex
representation of the config data. Saving this format was already supported.

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Fix erroneous "Skipping version check" output

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Output newline to correct stream when logging

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Adjust debug levels of some logging

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Minor improvement to .xcfg parsing

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Add newline to end of version output

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Improve return codes in error handling

 - Add new enum to allocate error codes to all error paths
 - Convert libusb and errno-based APIs to mxt_rc scheme
 - Refactor functions that overload return code to split out

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Log to stdout when in menu mode

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Attempt to recover from bootloader stuck

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>