Fix when using gcc flag "-mx32"

the "-mx32" flag can be used to create software that uses 64bit types on 64bit architectures but uses only 32bits for pointers.

This fixes an issue with the ecc code where it was assumend that *unsigned long* is always the same width as the architecture, which does not apply when using "-mx32".

Therefore a new type `ltc_mp_digit` is introduced and used in the relevant functions.