Integer multiplication with overflow checking
#include <safemult.h>
int umult16(uint16 a,uint16 b,uint16* c);
umult16 does c=a*b and returns 1.
In case of an integer overflow, umult16 leaves c alone and returns 0.
imult16(3), imult32(3), imult64(3)