specx: Fix creation of dynamic symbols on 64-bit

The ability to create symbols dynamically was completely broken
as the relevant code in gen_make_var and scl_symbols was failing
to understand that some pointer arithmetic was happening.

UMEMORY_PTR is a block of memory that was having variables assigned
into it and a byte offset was being used to work out where to put
each new set of points. A pointer was then calculated and passed to
the symbol creation routines.

Obviously each pointer was unknown to CNF so now we have to retrieve
the actual pointer from UMEMORY_PTR, add on the offset, and then
register the new pointer with CNF. This code also switches us to 8-byte
boundaries instead of 4-byte so we will be using more memory on
32-bit.