astNewARG(): Convert arg to param's type also if only subtype differs

(closes #671)

After this patch, an UDT1 PTR argument will be converted to a UDT2 PTR with
a cast. It doesn't change the amount of bytes that need to be pushed/popped
by the ASM backend, but it fixes gcc warnings for the C backend.

(and it may be important for -gen llvm aswell, since LLVM has much more
strict type checks)