Cleanup XS-1541 config
Separate out HW dependend defines from config.h and device.h to hwdefines.h

config.h cleaned up to contain only variable config options.
hwdefines.h contains only definitions but no C code or prototypes, since
it is included by the assembler too.
device.h contains prototypes for device.c