I'd suggest you have a look into TLC5940:
Should the ULN2003 be used on the DIG side or the COL side?
What transistor components should be used on the opposite side? Just ordinary IRF504s?Could a UDN2981 substitute for the ULN2003 ok? I have a few of those available already.