Pass the interpreter struct into quote functions, instead of using dTHX;

dTHX; makes a moderately expensive call to get a value from thread-local
storage, whereas the interpreter struct pointer is available "for free" in
the calling function. This only affects multiplicity builds (ie ithreads).
Remove references to the interpreter struct in types.c - it's not used there.