Safety improvements in compiler; improved Makefile (better cross-platform builds, dynamic library)

spn_vm_callfunc and spn_vm_exec clean up automatically

initializing a variable with itself yields nil