Support H3B firmware in prepare-bootstrap

Generalize how prepare-bootstrap handles different firmware
types, and add support for extracting/patching the H3B v300
BLD, HAL, and RTOS. We need to patch the RTOS to keep it
from detecting USB and going into charging mode, unless
there is a better way to configure the reset reason...

Signed-off-by: evilwombat <evilwombat@server.fake>
Add Linux machine_type argument

Allow the Linux loader to receive a machine ID as an
argument, in preparation for supporting multiple machine
types.

Signed-off-by: evilwombat <evilwombat@server.fake>
Add H3B Linux loading function

Add preliminary code for booting Linux on the H3B

Signed-off-by: evilwombat <evilwombat@server.fake>
Add H3B RTOS loader

Signed-off-by: evilwombat <evilwombat@server.fake>
Add evilbootstrap.bin for H3B loading

Add a bin file to blink the front LED for a few seconds and
then jump to the RTOS entry point, to give the user the
opportunity to unplug USB from the camera before the RTOS
actually runs.

Signed-off-by: evilwombat <evilwombat@server.fake>
Add a Linux Kernel file for the H3B

Signed-off-by: evilwombat <evilwombat@server.fake>
Update initrd

Signed-off-by: evilwombat <evilwombat@server.fake>
Add options for loading RTOS and Linux on the H3B

Add command-line option support for actually loading the
RTOS (or Linux) on an H3B camera. Use the given options
when looking for the camera USB device, and use the
appropriate DDR init sequence.

Signed-off-by: evilwombat <evilwombat@server.fake>
Update USB drivers for Windows

Move Hero2 driver to a separate directory and add a driver
for the H3 Black.

Signed-off-by: evilwombat <evilwombat@server.fake>
Rebuild Windows version

Recompile the Windows versions of prepare-bootstrap and
gpboot.

Signed-off-by: evilwombat <evilwombat@server.fake>