Improve callback return value checking
Improve callback return value checking

Convert callbacks' return values to bools before testing them
against bad returns (which are bools too). This will correctly
evaluate things like 'retval != true' in generated code which
previously might give unexpected results if they returned something
that's != 1 but still 'true'.

Also, add additional checks in generate_code.py that make sure that
badrets are bool and callbacks' return types are either 'void' or
'bool'.

Zeex/sampgdk,WopsS/sampgdk,WopsS/sampgdk,Zeex/sampgdk,WopsS/sampgdk,Zeex/sampgdk