Added cross compiler defaults for A320 and GCW0
Fixed warning about discarding 'const'

Also removed typecast that casted away const.

There is no need for the shortcut struct itself to be mutable, since
all mutable state is behind the non-const "keys" pointer.
Made the brightness module more reliable

The original code leaked file pointers if the key release event was not
received. Also, it lacked error detection in a lot of places and it
contained a lot of duplicated code.

The new code won't open the brightness file again if it is still open.
Also it aborts operations on failure, instead of continuing with a
possibly invalid value. And duplication is reduced by moving the
duplicate code into static functions.

Also simplified the code by using fscanf and fprintf instead of lower
level I/O functions.
Allow config to override minimum brightness

And do so for the GCW Zero.
Reduced scope of local variables in do_listen()
Fixed detection of key combo release

The old code would only send events if the combo was active, while a
release event will de-activate the combo. As a result, release events
were never sent to the backends.

Also all combos should be released when the power slider is released.
Removed misleading DEFAULT_MIXER default in main.c

The Makefile determines the default value for this macro; having
another default in the code that is never used is confusing.