Make declaration of specialized signatures less repetitive

Instead of hard-coding all possible signatures for all specialized functions, generate them. This relies on ordering of numba types (according to bitwidth).